最近公司開發的專案很多地方都需要跨域ajax請求,例如幾個子網域下
http://a.****.com/index123.aspx,
http://b .****.com/index2.aspx
都要請求用戶json信息,然後再對數據進行處理,起初我和同事們試了很多種方法,使用$.ajax() 無論是get或post方法都會引起uri deny的錯誤。一番GG之後發現了解決方法,也了解其中的原因。
jquery從1.2開始,.getJSON就支援跨域操作了。使用jquery.getJSON()方法可以解決跨域問題。實例如下
前台
HTML中JS程式碼
function gettst2() {
$.getJSON("http://ucenter.xxxx.com./ajax/test.cn/ajax/test. .aspx?callback=?", { id: "123456", site: "01" },
function(data) {
alert(data.htmls);
doc ).innerHTML = data.htmls;
});
}
gettst2();
ASPX.cs檔案中處理為
string jsoncall = Request.QueryString("callback");
Response.Write(jsoncall "({htmls:測試001})") ;
如果加html代碼的話,千萬別加/n 符號,不然會出現亂碼,js 錯誤。