1.本地jsonp.htmljavascript
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="http://localhost/Vitaproject/jsonp.js"></script> </head> <body> </body> </html>
远程jsonp.jshtml
alert("ok")
2.本地jsonp.htmljava
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> //回调函数 function callback(data) { alert(data.message); } </script> <script type="text/javascript" src="http://localhost/Vitaproject/jsonp.js"></script> </head> <body> </body> </html>
远程jsonp.jsjquery
//调用callback函数,并以json数据形式做为阐述传递,完成回调 callback({message:"success"});
3.JSajax
本地jsonp.htmljson
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> // 获得航班信息查询结果后的回调函数 var flightHandler = function(data){ alert('你查询的航班结果是:票价 ' + data.price + ' 元,' + '余票 ' + data.tickets + ' 张。'); }; // 提供jsonp服务的url地址(不论是什么类型的地址,最终生成的返回值都是一段javascript代码) var url = "http://localhost/Vitaproject/flightResult.asp?code=CA1998&callback=flightHandler"; // 建立script标签,设置其属性 var script = document.createElement('script'); script.setAttribute('src', url); // 把script标签加入head,此时调用开始 document.getElementsByTagName('head')[0].appendChild(script); </script> </head> <body> </body> </html>
http://localhost/Vitaproject/flightResult.aspapp
flightHandler({ "code": "CA1998", "price": 1780, "tickets": 5 });
4.jQjeryasync
本地jsonp.html函数
<!DOCTYPE html> <html> <head> <title>Untitled Page</title> <script type="text/javascript" src="jquery-1.7.2.min.js"></script> <script type="text/javascript"> jQuery(document).ready(function(){ $.ajax({ type: "get", async: false, url: "http://localhost/Vitaproject/flightResult.asp?code=CA1998", dataType: "jsonp", jsonp: "callback",//传递给请求处理程序或页面的,用以得到jsonp回调函数名的参数名(通常默认为:callback) jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也能够写"?",jQuery会自动为你处理数据 success: function(json){ alert('您查询到航班信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。'); }, error: function(){ alert('fail'); } }); }); </script> </head> <body> </body> </html>
http://localhost/Vitaproject/flightResult.aspjsonp
flightHandler({ "code": "CA1998", "price": 1780, "tickets": 5 });
4.
<!DOCTYPE html> <html> <head> <title>Untitled Page</title> <script type="text/javascript" src="jquery-1.7.2.min.js"></script> <script type="text/javascript"> jQuery(document).ready(function(){ $.ajax({ type: "get", url:"http://m.qqdyw.cn/lottery/draw/key/", //url:"http://www.jibuu.cn/Main/AjaxServer.aspx?Action=GetActListForDefault", dataType:'jsonp', jsonp:'callback', success:function(result) { console.log(result); alert(result.status) }, error: function(){ alert('fail'); } }); }); </script> </head> <body> </body> </html>
({"status":0,"award":"\u4eb2\uff0c\u4e0d\u54ed","item":0})