经典跨域ajax与jquery客户端PHP服务器端

时间:2018-01-30 17:47:42

标签: php jquery ajax cross-domain

关于跟进的javascript像素是谁在网络上的销售渠道中做了什么。

我的客户thrivecart域上有一个javascript脚本(例如https://ownspace.thrivecart.com

我想向javascript脚本来自的其他域(例如https://emails.mycustomer.com)发出请求。

以下是https://ownspace.thrivecart.com上javacsript代码的主要部分:

$(document).ready(function () {
            console.log("loading pixel");
            $.ajax({
                url: 'https://emails.mycustomer.com/server_side_script.php',
                type: 'POST',
                headers: {  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
                            'X-Requested-With': 'XMLHttpRequest'},
                data: {my:ciphered_get_parameters},
                success: function (result) {
                    console.log(result);
                }
            });
        });

以下是我目前服务器方面的内容:(server_side_script.php)

<?php
header('Content-Type:application/json'); 
header("Access-Control-Allow-Origin:https://ownspace.thrivecart.com");
header("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With, Accept");
// Special data treatment

我在thrivecart页面上收到此错误:

Failed to load https://emails.mycustomer.com/server_side_script.php: Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response.

然而,我读到了这个&#34;      Access-Control-Allow-Headers: 表示响应的url为CORS协议的目的支持哪些头。&#34;

由于PHP代码中的标题已打开,我不明白为什么它不起作用。

我甚至尝试使用NGINX conf文件在响应中设置X-Requested-With标头,然后重新启动服务器。

但是,我想我错过了一点。

1 个答案:

答案 0 :(得分:1)

似乎是

中的拼写错误
header("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With, Accept");

尝试

header("Access-Control-Allow-Headers:Content-Type, Authorization, X-Requested-With, Accept");