這次帶給大家Jquery ajax異步跨域怎麼實現,Jquery ajax異步跨域實現的注意事項有哪些,下面就是實戰案例,一起來看一下。
如何快速解決JS或Jquery ajax異步跨域的問題呢?下面小編就為大家分享一個快速解決Jquery ajax非同步跨域問題的方法,希望對大家有幫助。一起跟著小編過來看看吧
簡單的概括下,解決方法有兩種。
一種是jsonp方式:即在前端發送非同步請求時,新增相關的jsonp設定或設定;後端則傳回可供jsonp解析的格式的字串。
但是jsonp方式只支援get的請求方式,並且不被新瀏覽器版本的支援(新瀏覽器版本多進行OPITION請求--異步安全檢查的測試的請求,所以jsonp方式無法通過),
這裡就不多了解了。
一種是cros方式,#優點就是比較安全,能指定連線白名單,能限定請求方法(也就是支援多種請求方式),主流瀏覽器都支援。主要說一下實作方式,
前端:和普通非同步請求一樣的格式,如:
$.ajax({ url :'http://localhost:8080/myProject/test' type : "GET",//不局限于get data:{"key1":value1,"key2":value2}, async : true, success : function(data) { var dataObj=eval("("+data+")"); console.log(dataObj); }, error : function(data) { alert( "服务器连接失败 ajaxJsonp" ); } });
後端:主要是設定回應頭參數
response.setHeader("Access-Control-Allow-Origin", "*");//设置可跨域资源共享的域名,只能设置一个具体的域名,但*可以代表所有 response.setHeader("Access-Control-Allow-Methods","GET,POST,PUT,OPTIONS");//设置可跨域资源共享的请求方式 response.setHeader("Access-Control-Allow-Credentials","true"); response.setHeader("Access-Control-Allow-Headers" ,"Origin, X-Requested-With, Content-Type, Accept");
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是Jquery ajax異步跨域怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!