Morteza Milani
Morteza Milani

Reputation: 1187

Ajax And REST: Can I send an ajax request to a REST service to recieve response?

I want to use mootools and SqueezBox class to handle a request to a RESTful service. I don't want to use any server-side script. I am using AJAX. I send a request to the following url using GET method. http://www.idevcenter.com/api/v1/links/links-upcoming.json but I receive a 404 error. Is it because cross-site scripting? here is my code:

SqueezeBox.initialize({handler:'url',ajaxOptions:{method:'GET'}});
$('a.modal').addEvent('click',function(e){
    new Event(e).stop();
    SqueezeBox.fromElement($('a.modal'));
});

In Firebug console, sometimes 'aborted' is shown and sometimes '404'.what is wrong with that?

Upvotes: 0

Views: 1170

Answers (2)

T.J. Crowder
T.J. Crowder

Reputation: 1075447

XMLHttpRequest is subject to the Same Origin Policy; if the document your JavaScript is running within is not from the same origin as the service you're trying to call, the call will be disallowed for security reasons.

There is now a proposed standard for cross-origin resource sharing to address this. It may be that the service you're trying to use supports it; if so, using a browser that implements CORS (recent versions of Firefox and Chrome do, as do some others) may work. IE8 supports it but requires that you do extra work.

Upvotes: 2

Pointy
Pointy

Reputation: 413976

You cannot use XMLHttpRequest (that is, ordinary "ajax") to call a service on a server that is not in your domain.

You can, however, use the JSONP trick, which takes advantage of the fact that the browser will load Javascript from other domains. However, the service has to know that you're going to do that, and it has to understand the protocol. That particular service seems perfectly willing to give me a JSON response, but it doesn't pay attention when I give it a "callback" parameter. (I've tried both "callback" and "jsonp" and the JSON blob that comes back is the same, without a function call wrapper.)

Upvotes: 0

Related Questions