码迷,mamicode.com
首页 > Web开发 > 详细

jsonp

时间:2016-04-05 15:42:51      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

 jQuery(document).ready(function(){
        $.ajax({
             type: "get",
             async: false,
             url: "url",
             dataType: "jsonp",
             jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
             jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
             success: function(json){
                 console.log("123");
             },
             error: function(){
                 console.log("456");
             }
         });
     });
        
        

jsonp Uncaught SyntaxError: Unexpected token : 报错

 

-----------------------------------------------------------------------------------------------

 

 

 

翻看了一下Jquery文档发现jsonp:”callback”, jsonpCallback:”success_jsonpCallback”,传递这两个参数是有原因的,jsonp的返回数据格式应该是: “客户端传递的回调方法名称(json数据)”,将php文件改为:

<?php 
$arr = array (‘username‘=>‘jack‘,‘age‘=>21,‘gender‘=>‘male‘); 
echo $_GET[‘callback‘]."(".json_encode($arr).")";
?>

 

测试,正确返回结果,如下图:

技术分享

 

可以看到,php文件返回的结果是 success_jsonpCallback({“username”:”jack”,”age”:21,”gender”:”male”}) ,这才是正确的jsonp返回格式,而success_jsonpCallback这是传递过去的参数。

 

 

http://www.cnphp6.com/archives/65409

jsonp

标签:

原文地址:http://www.cnblogs.com/hellowzd/p/5354818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!