如何抑制php cross origin重定向错误

时间:2017-06-21 08:58:27

标签: php jquery ajax

我通过ajax通过

调用远程php文件
$.ajax({
        url: 'home.php',  
        type: 'POST',
        data: formData,
        crossOrigin: true,
        async: true,
        success: function (data) {
            $("#home").trigger('reset');
            console.log(data);
        },
        error: function (data, textStatus, jqXHR) { $("#home").trigger('reset');},
        cache: false,
        contentType: false,
        processData: false
    });

这是home.php中的代码

$url = 'http://api.example.com/post-data';

header("Location: $url", TRUE, 307);

return 'User Is Inserted';

我已启用此功能

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

我可以像我希望的那样拨打网址。但是,在客户端,我收到此错误

  

阻止跨源请求:同源策略禁止读取   http://api.example.com/post-data处的远程资源(原因:CORS   标题'Access-Control-Allow-Origin'缺失。)

对于修复,我希望能够抑制重定向代码返回的任何错误

header("Location: $url", TRUE, 307);或操纵返回的错误。

我是否可以通过某种方式隐藏客户端开发人员面板中的错误Cross-Origin Request Blocked:...

我在共享主机上,支持团队表示已启用curl并且get_file_contents有效,但事实并非如此。我使用的是PHP 7。

php文件

<?php

/**
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
*/

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

0 个答案:

没有答案