Fork me on GitHub
代码改变世界

ajax jsonp跨域处理问题

2014-10-15 16:08  freefei  阅读(182)  评论(0编辑  收藏  举报

 

 

客户端 html

$.ajax({

        type : "get",  
        async:false,         
        dataType : "jsonp",  
        jsonp: "jsoncallback",//服务端用于接收callback调用的function名的参数  
        jsonpCallback:"success_jsonpCallback",//callback的function名称  
        url:'http://www.apps.com/netWork.php',
        timeout:1000,
        success:function(statu){
            data = $.parseJSON(statu); 
            //console.log(data);
        },
        error: function(statu){  
           // alert('error'); 
            data = $.parseJSON(statu); 
            console.log(data); 
        }  
});

function success_jsonpCallback(statu){
console.log(statu);
}

 

 

php 

 

<?php  
header('Content-Type:text/html;Charset=utf-8');  
$arr = array(  
    "statu" => 1,  
    "info" => '连接成功'
  
);  
echo $_GET['jsoncallback'] . "(".json_encode($arr).")";  

 

结果 object


info: "连接成功"
statu: 1

 

注意

 ajax的回调函数 为单独指定的回调函数

 而不是ajax success 的回调 这点特别注意

 

@ https://github.com/ranmufei

校友通微信小程序

校友通微信小程序