我想使用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