这里采用了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>
推荐阅读
JavaScript下利用fso判断文件是否存在的代码
复制代码 代码如下: function ReportFileStatus(filespec) { var fso, s = filespec; fso = new ActiveXObject("Scripting.FileSystemObject"); if (fso.FileExists(filespec)) s += " exists."; else s += " does>>>详细阅读
本文标题:JQuery中getJSON的使用方法
地址:http://www.17bianji.com/kaifa2/JS/25214.html
1/2 1