Ajax跨域解决方案

方案1:

  • 在请求页面的ajax里面加入两行代码:
    dataType: 'jsonp', jsonp: 'callback'

    $.ajax({
        type: 'get',
        data: 'random='+Math.random(),
        url: 'http://demo.helloweba.net/phpajax/jsonp.php',
        dataType: 'jsonp',
        jsonp: 'callback',
        success: function(data) {
            console.log(data);
        },
        error: function() {
            console.log('Request Error.');
        }
    });
  • 然后在响应页面把代码改成以下格式:

    echo $_GET['callback'].'('.json_encode(['status' => 1, 'data' => ['name' => 'dongdongdong']]).')'

方案2:

  • 在响应页面加入一行代码:
    header('Access-Control-Allow-Origin: *');*号代表可以让所有的页面请求访问它,*号也可以换成请求页面的网址域名,变成只让这个域名跨域访问它

      header('Access-Control-Allow-Origin: *');
    //或者 header('Access-Control-Allow-Origin: http://www.test.com');

特别感谢

参考博客:PHP处理Ajax请求与Ajax跨域

本作品采用《CC 协议》,转载必须注明作者和本文链接
EMin
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!