跨域JSONP帖子给出了控制台错误

时间:2012-12-12 12:37:24

标签: jquery json cross-domain jsonp

我想做一个跨域帖子,似乎我必须使用JSONP。我的帖子确实有效,但Firefox控制台出错了。当我的PHP正确收到数据时,为什么脚本会说“失败”?

function post_data(data1, data2, data3) {
    $.ajax({
        type: 'POST',
        dataType: 'jsonp', 
        data: "data1=" + data1 + "&data2=" + data2 + "&data3=" + data3, 
        url: 'http://www.thedomainname.com/recievedata.php',
        success: function(data){
            alert('succes!!');
        },
        error: function(){
            alert('fail!');
        }
    });
    return false;
};

它会触发错误功能;在这种情况下,它会警告“失败!”

1 个答案:

答案 0 :(得分:0)

您可以尝试指定以下参数(jsonpjsonpcallback),以便在jsonp请求成功的情况下设置自定义函数:

function jsonpCallback(response){
    console.log(response);
}

function post_data(data1, data2, data3) {
    $.ajax({
        type: 'POST',
        dataType: 'jsonp', 
        data: "data1=" + data1 + "&data2=" + data2 + "&data3=" + data3, 
        url: 'http://www.thedomainname.com/recievedata.php',
        jsonp: false,
        jsonpCallback: 'jsonpCallback',
        error: function(){
            alert('fail!');
        }
    });
    return false;
};

在这里查看并按jsonp搜索:http://api.jquery.com/jQuery.ajax/