JQuery中getJSON的使用方法(转)

最近有一个活动,其中的数据需要和纯静态html网站进行交互。但是由于两个网站处于不同的域名下,而Ajax的应用中,由于安全的问题,浏览器默认是不支持跨域调用的,最后选用了JQuery中的getJSON方法
 

这里采用了JSONP(JSON with Padding-填充json数据也就是常用的json跨域方式):利用script标签,通过特定的src地址的调用,来执行一个客户端的js函数,在 服务器端生成相对的数据(JSON格式)并以参数的形式传递给这个客户端的js函数并执行这个函数,前提是需要服务器端的数据输出支持。在JQuery1.2以后支持JSONP的应用。 
JSON 是一种含有简单括号结构的纯文本,因此许多通道都可以交换 JSON 消息。因为同源策略的限制,我们不能在与外部服务器进行通信的时候使用 XMLHttpRequest。而JSONP是一种可以绕过同源策略的方法,即通过使用 JSON 与 <script> 标记相结合的方法,从服务端直接返回可执行的JavaScript函数调用或者JavaScript对象。

整个调用过程中,起关键作用的是jsoncallback=?,在客户端调用时需在请求地址中添加参数:jsoncallback=?;同时服务器端则需要把jsoncallback的值作为方法名传回来。

服务端代码:

 

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

html页面调用:
 

<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> 

转载于:https://www.cnblogs.com/ada-zheng/archive/2013/06/15/3137398.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值