欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JQuery中g(shù)etJSON的使用方法

 更新時間:2010年12月13日 15:35:34   作者:  
最近有一個活動,其中的數(shù)據(jù)需要和純靜態(tài)html網(wǎng)站進行交互。但是由于兩個網(wǎng)站處于不同的域名下,而Ajax的應(yīng)用中,由于安全的問題,瀏覽器默認是不支持跨域調(diào)用的,最后選用了JQuery中的getJSON方法
這里采用了JSONP(JSON with Padding-填充json數(shù)據(jù)也就是常用的json跨域方式):利用script標(biāo)簽,通過特定的src地址的調(diào)用,來執(zhí)行一個客戶端的js函數(shù),在 服務(wù)器端生成相對的數(shù)據(jù)(JSON格式)并以參數(shù)的形式傳遞給這個客戶端的js函數(shù)并執(zhí)行這個函數(shù),前提是需要服務(wù)器端的數(shù)據(jù)輸出支持。在JQuery1.2以后支持JSONP的應(yīng)用。

    JSON 是一種含有簡單括號結(jié)構(gòu)的純文本,因此許多通道都可以交換 JSON 消息。因為同源策略的限制,我們不能在與外部服務(wù)器進行通信的時候使用 XMLHttpRequest。而JSONP是一種可以繞過同源策略的方法,即通過使用 JSON 與 <script> 標(biāo)記相結(jié)合的方法,從服務(wù)端直接返回可執(zhí)行的JavaScript函數(shù)調(diào)用或者JavaScript對象。

   整個調(diào)用過程中,起關(guān)鍵作用的是jsoncallback=?,在客戶端調(diào)用時需在請求地址中添加參數(shù):jsoncallback=?;同時服務(wù)器端則需要把jsoncallback的值作為方法名傳回來。

   服務(wù)端代碼:

復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Request.QueryString["jsoncallback"] + "({name:'test'})");
}

html頁面調(diào)用:
復(fù)制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head >
<script type="text/javascript" src="jquery-1.4.4.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$.getJSON("http://localhost:10272/test.aspx?jsoncallback=?",
function(data) {
$("#divHeaderLink").html(data.name);
});
});
</script>
</head>
<body>
<div id="divHeaderLink">
</div>
</body>
</html>

相關(guān)文章

最新評論