如何快速解決JS或Jquery ajax異步跨域的問題
簡單的概括下,解決辦法有兩種。
一種是jsonp方式:即在前端發(fā)送異步請求時,添加相關(guān)的jsonp設置或配置;后端則返回可供jsonp解析的格式的串。
但是jsonp方式只支持get的請求方式,并且不被新瀏覽器版本的支持(新瀏覽器版本多進行OPITION請求--異步安全檢查的測試的請求,所以jsonp方式無法通過),
這里就不多了解了。
一種是cros方式,優(yōu)點就是更安全,能指定連接白名單,能限定請求方法(也就是支持多種請求方法),主流瀏覽器都支持。主要說一下實現(xiàn)方式,
前端:和普通異步請求一樣的格式,如:
$.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" ); } });
后端:主要是設置響應頭參數(shù)
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");
相關(guān)文章
jQuery在ie6下無法設置select選中的解決方法詳解
這篇文章主要介紹了jQuery在ie6下無法設置select選中的解決方法,結(jié)合實例分析了jQuery在ie6下無法設置select選中的原因與相關(guān)處理技巧,需要的朋友可以參考下2016-09-09jquery查找父元素、子元素(個人經(jīng)驗總結(jié))
對使用js或者jquery查找父元素、子元素比較混淆的朋友可以參考下本文,因為是個人總結(jié),用起來會比較方便2014-04-04jQuery 獲取遍歷獲取table中每一個tr中的第一個td的方法
下面小編就為大家?guī)硪黄猨Query 獲取遍歷獲取table中每一個tr中的第一個td的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10基于jquery實現(xiàn)的定時顯示與隱藏div廣告的實現(xiàn)代碼
有時候我們需要在jquery中要顯示與隱藏層,很簡單的方法就是直接使用hide與show方法就可以了,但要定時我們需要結(jié)合setTimeout函數(shù)來實現(xiàn)2013-08-08將JavaScript的jQuery庫中表單轉(zhuǎn)化為JSON對象的方法
這篇文章主要介紹了將JavaScript的jQuery庫中表單轉(zhuǎn)化為JSON對象的方法,包括對序列化時空格問題的處理方法,需要的朋友可以參考下2015-11-11