分兩種情況:
從策劃到設計制作,每一步都追求做到細膩,制作可持續發展的企業網站。為客戶提供做網站、網站制作、網站策劃、網頁設計、主機域名、網站空間、網絡營銷、VI設計、 網站改版、漏洞修補等服務。為客戶提供更好的一站式互聯網解決方案,以客戶的口碑塑造優易品牌,攜手廣大客戶,共同發展進步。
一、您有目標網站的修改權限,可以直接使用$.getJSON();
二、您沒有目標網站的修改權限,可以使用php的fopen()函數,然后再用jquery的$.get();
兩個函數的用法大同小異,根據您的情況,沒有銀行的修改權限,
那么先做一個php獲取銀行的匯率,
$.get("get.php",{"m1":"貨幣1","m2":"貨幣2"},function(data,status){
//回調函數寫這里,比如$("div").html(data);
}):
jquery自身的功能是不支持的,但是你可以基于jquery實現跨域post。
jquery本身只支持jsonp跨域,但是jsonp的原理限制了只能支持get。
如果想要實現原生jquery跨域,在你的請求地址的head里面加上Access-Control-Allow-Origin,值設置成調用該API的域名(或者*),優點是代碼修改少,前端js代碼無需任何改動。
或者用iframe + window.name方式,比較麻煩,后端前端都要改,優點是兼容性強。
或者用postMessage,優點是方便,缺點IE支持的不是很好。
我們會發現,即使后端開發好了跨域頭的輸出,前端ajax請求時候后臺還是獲取不到Cookie和Session。其實需要在ajax時候帶上參數才可以的。
或者我們可以設置jQuery的全局ajax默認設置,不需要每個請求都帶上那種參數。
$.ajax({
? url: "",
? type: "get",
? data:{p1:1,p2:2},
dataType:?"jsonp",
jsonp:?"callback",
? success: function(aaa) {
? ? ? ?console.log(aaa);
? }
});
只需要在正常的ajax代碼中加上中間的javascript代碼,就可以完成跨域的ajax請求了
POST跨域 解決方案: CORS
給服務端數據處理源碼添加Header頭。
例如是asp的語法,服務端獲取數據使用:
%
Response.AddHeader "Access-Control-Allow-Origin", "*"
response.write("[{'rid':1, 'rname':'001'}, {'rid':2, 'rname': '002'}]")
%
本地ajax:
$.ajax({
url:url,//遠程url
async :false,
type:"POST",
success:function(data){
//var a=JSON.parse(data);
var html = "";
alert(data);
},
error:function(){
alert("error");
}
});
通過script標簽來請求,原理就是在本域內的A內生成一個JS標簽,它的SRC指向請求的另外一個域的某個頁面B,這個src里面通常會加一個A頁面定義好的回調函數,B返回數據即可,可以直接返回調用這個回調函數,這種跨域的通信方式被稱為JSONP,此方案存在的缺陷是, script的src屬性完成該調用時采取的方式時get方式,如果請求時傳遞的字符串過大時,可能會無法正常運行。
本文標題:jquery跨域,jquery跨域修改
本文鏈接:http://vcdvsql.cn/article46/dsieseg.html
成都網站建設公司_創新互聯,為您提供軟件開發、品牌網站建設、企業建站、網站建設、網站制作、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯