跨域訪問
js實現。
環境:.net3.5+jquery+json.net
因為在跨域實現,所以這裡新建**,這個**只需要:
(1)customer
類public
class
customer
public
string customername
public
string memo
public
string other
}(2)
ashx
檔案customer
customer = new
customer
;string strjson = newtonsoft.json.jsonconvert.serializeobject(customer);
context.response.write(strjson);
然後在iis
中建立**
web1
,就是上邊這個**。在vs
中再建**專案
web2
,用於跨域訪問
web1
。(一)
正常的jqueryaajx
跨域請求
function
jsonpajax_2() );
$("#divmessage").html(tt);
}});
}結果:會彈出提示視窗。
(二)jquery jsonp
請求function
jsonpajax_1() );
$("#divmessage").html(tt);
}});
}此時,跨域的
web1
中的ashx
檔案資料提供要改一下:
string
callback = context.request.params["callback"];
context.response.write(callback+"("+strjson+")");
返回的資料的格式為:
jsonp1263199953609()
結果:unid:1
customername
:宋江memo
:天魁星
other
:黑三郎
引用一段說明:
jsonp
的最基本的原理是
:動態新增乙個
是一致的
(qq空間就是大量採用這種方式來實現跨域資料交換的
) .jsonp
是一種指令碼注入
(script injection)行為,
所以也有一定的安全隱患
.參考:
用jQuery解決跨域訪問
瀏覽器端跨域訪問一直是個問題,多數研發人員對待js的態度都是好了傷疤忘了疼,所以病發的時候,時不時地都要疼上一疼.記得很久以前使用iframe 加script domain 宣告,yahoo js util 的方式解決二級網域名稱跨域訪問的問題.時間過得好快,又被拉回js戰場時,跨域問題這個傷疤又開...
nginx實現跨域訪問
簡單來說 兩個url只要協議 網域名稱 埠有任何乙個不同,都被當作是不同的域,相互訪問就會有跨域問題。例如 在開發前後端完全分離的系統中,服務端 屬於乙個工程,前端 屬於另乙個工程,前端開發人員在進行介面對接時,可能會在webstorm等工具進行編碼,並用webstorm的內建伺服器進行除錯,這就會...
ajax jsonp實現跨域訪問
ajax自動拼接的完整請求jsonp為 方法名 引數a 格式的文字,success方法把接收到的資料按jsonp格式處理,取出引數a傳給success方法的引數data package com.nongmall.manage.controller import org.springframework...