[前端] jsonp实现

前端之家收集整理的这篇文章主要介绍了[前端] jsonp实现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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 . ")"; // 这个是返回的数据

谢谢关注!

猜你在找的Json相关文章