我想使用mootools和SqueezBox类来处理对RESTful服务的请求。我不想使用任何服务器端脚本。我正在使用AJAX。我使用GET方法向以下URL发送请求。 http://www.idevcenter.com/api/v1/links/links-upcoming.json 但我收到404错误。是否因为跨站点脚本?这里是我的代码:Ajax和REST:我可以向REST服务发送ajax请求以接收响应吗?
SqueezeBox.initialize({handler:'url',ajaxOptions:{method:'GET'}}); $('a.modal').addEvent('click',function(e){ new Event(e).stop(); SqueezeBox.fromElement($('a.modal')); });
在萤火虫控制台,有时'中止'显示,有时'404'。这是什么错?
我在我的请求中看到了一些标题,它似乎是跨源标题。我得到的回应,但与404错误。所以我认为是打电话。 访问控制请求方法:获取 访问控制请求头:x请求与 – 2010-03-23 12:16:05
是的,这些都是CORS请求头(应该有一个“Origin”)。如果你得到了一个404(我错过了你原来的问题!),那*应该*表示该资源根本不在该URL上,而不是你无法访问它(这就是401, 403等等 - http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)。所以我会再次检查网址。 – 2010-03-23 12:22:04
更新:我只是试了一下,我得到了同样的结果:直接的浏览器请求给了我JSON,但我无法通过XHR加载它。原因是idevcenter正在使用404来响应OPTIONS请求,这意味着它们不支持CORS(或者至少没有预先计划的CORS)。我本来会想到404以外的东西,但是,嘿,CORS是新的。可能值得问他们是否会考虑。 – 2010-03-23 12:29:18