JSONP可以说是为了实现跨域请求操作而诞生的。
在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。
为jsonp请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。这主要用来让jQuery生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。
示例:
HTML页面布局:
<div id="divCustomers"></div>
JS脚本代码:
script type="text/javascript"> $.getJSON("jsonp.php?callback=?",function(data) { // 返回的是一个数组 var html = '<ul>'; for(var i = 0; i < data.length; i++) { html += '<li>' + data[i] + '</li>'; } html += '</ul>'; $('#divCustomers').html(html); }); </script>
php程序:
header('Content-type: application/json');
//获取回调函数名 $jsoncallback = htmlspecialchars($_GET ['callback']); // 获取url参数名 //json数据 $json_data = '["customername1","customername2"]';
//输出jsonp格式的数据 echo $jsoncallback . "(" . $json_data . ")"; // 这个是返回的数据
谢谢关注!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。