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

谢谢关注!

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...