从一个站点到另一个站点进行ajax调用以从数据库获取数据时的跨域问题

时间:2017-06-08 12:13:20

标签: javascript jquery ajax api cross-domain

我正在创建一个网站,用户可以在一个网站上创建弹出窗口,然后在其他网站上使用小代码。问题是,当我从其他站点获取ajax调用以获取其他站点数据库中的数据时,我收到错误"不允许交叉源访问"。当我使用jsonp时,它给了我正确的响应,但我不是能够收集它。它给了我错误"意想不到的令牌"。我正在使用jquery ajax,如果你有任何其他想法然后让我知道我也将实现它。这是我的代码:

$.ajax({
    url: "url",
    // Tell jQuery we're expecting JSONP
  dataType: "jsonp",
  jsonpCallback: 'callback',
    type: 'GET',

        data: {

            format: "json"
        },


    // Work with the response
    success: function( response ) {
        console.log( response ); // server response
    }
});

2 个答案:

答案 0 :(得分:0)

如果您的响应有错误服务器端跨域问题,那么您的服务器端响应应该存在 Access-Controll-Allow-Origin 带*值将解决您的问题。

答案 1 :(得分:0)

您可以尝试:

crossDomain:true,

$.ajax({
    url: "url",
    // Tell jQuery we're expecting JSONP
  dataType: "jsonp",
  jsonpCallback: 'callback',
  crossDomain : true,

    type: 'GET',

        data: {

            format: "json"
        },


    // Work with the response
    success: function( response ) {
        console.log( response ); // server response
    }
});

这解决了我的问题。