有沒有辦法不使用服務器代理來執行跨域GET或POST請求?跨域在JS/JQuery中獲取請求
回答
如果你只用當天的瀏覽器,並已超過了外部域的控制,你可以使用Cross-Origin Resource Sharing [CORS]
大多數人沒有這樣的奢侈,所以你要麼必須使用JSON與填充[ JSONP],或者您需要使用serverside代理。
優秀的答案。更多信息可以在[this stack-o question]獲得(http://stackoverflow.com/questions/5908195/jquery-and-cross-domain-post-requests);並且,[檢查這篇博客文章](http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/);另外,[這篇mozilla-developer-network文章](https://developer.mozilla.org/En/HTTP_access_control)非常棒,有更多資源的鏈接。 [編輯]:請注意,爲了啓用CORS,服務器端腳本必須使用特殊標題進行回覆。 – David 2011-11-22 15:27:12
看看這裏:http://www.html5rocks.com/en/tutorials/cors/ – 2013-04-23 00:17:24
據我所知,沒有辦法在JS中創建一個跨域請求,但你可以查詢你的服務器並從那裏發出請求。
編輯:正如Russ Cam在上面所說,看看JSONP。
AJAX跨域是一個低成本的庫,允許執行跨域AJAX請求。 http://www.ajax-cross-domain.com/
這將是偉大的,如果下來選民留下評論所以公衆可以接受教育,爲什麼這是一個不好的答案。 – 2012-04-30 18:44:32
是的,請讓我知道,因爲我已經在幾個項目中使用過這個庫,並且沒有遇到任何問題。 – Ivan 2012-05-03 06:55:58
它使用通常不理想的第三方服務。 – 2012-12-28 00:22:49
使用YQL是一個簡單的做跨域AJAX的方法。您可以指定返回JSON或XML對象。 IBM有一個很好的教程:http://www.ibm.com/developerworks/web/library/wa-aj-jsonp2/index.html
雖然只是搜索yql跨域,它會帶來很多教程。
您可以使用Flash。 Flash允許您向另一個服務器發出跨域請求,只要它提供Flash跨域策略文件(XML文件)即可。所以你需要對其他服務器進行管理訪問才能設置它。
如果你覺得這個選擇可能是你在找什麼,或者你想要做的SSL/TLS跨域,檢查出的開源Forge項目:
- 1. 跨域Ajax獲取請求
- 2. 跨域http獲取請求
- 3. 跨域請求獲取Google Maps SDK
- 4. 跨域請求
- 5. 跨域請求
- 6. 跨域請求
- 7. 跨域請求
- 8. 跨域請求
- 9. 如何在javascript中獲取跨域請求的響應
- 10. 跨域請求jquery
- 11. Firefox跨域請求
- 12. 跨域Ajax請求
- 13. 跨域Ajax請求
- 14. 跨域OAuth請求
- 15. PHP跨域請求
- 16. 跨域AJAX請求
- 17. 跨域HTTP請求
- 18. AJAX跨域請求
- 19. 跨域JSON請求?
- 20. CEFSHARP中的跨域請求
- 21. Firefox中的跨域請求
- 22. 不中跨域請求
- 23. Xhtml中的跨域請求
- 24. 跨域請求子域
- 25. 從WCF請求獲取請求域名?
- 26. 跨域ajax請求jquery抓取CSV
- 27. Javascript在IE8中跨域請求
- 28. HTTP請求在Nodejs中的跨域
- 29. 跨域HTTP請求在AngularJS中失敗
- 30. 在IE8中修復跨域請求
JSONP - HTTP:// ajaxian.com/archives/jsonp-json-with-padding – 2010-07-07 23:24:50
我應該澄清,我的GET請求的響應是不是JSON格式,所以我不認爲$ .getJSON的作品 – Crothers 2010-07-07 23:29:48