【问题标题】:AJAX headers ending up in HTTP_ACCESS_CONTROL_REQUEST_HEADERS on PHP side在 PHP 端以 HTTP_ACCESS_CONTROL_REQUEST_HEADERS 结尾的 AJAX 标头
【发布时间】:2013-04-19 05:30:20
【问题描述】:

我正在尝试让 SalesForce Rest API 工作,并且我已经将我的问题调试到这一点:

当我从我的 Web 应用程序向我的后端(与后端位于不同的域)进行 AJAX 调用时,所有 AJAX 标头最终都被塞进 $_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'] 并且没有让我了解他们的价值观的方式。

    return $j.ajax({
        type: 'POST',
        url: my_endpoint_url,
        cache: false,
        processData: false,
        data: 'grant_type=refresh_token&client_id=' + this.clientId + '&refresh_token=' + this.refreshToken,
        success: callback ,
        error: error ,
        dataType: "json",
        beforeSend: function(xhr) {
            if (that.proxyUrl !== null) {
                xhr.setRequestHeader('SalesforceProxy-Endpoint', url);
            }
        }
    });

在服务器端,我只收到:

[HTTP_ACCESS_CONTROL_REQUEST_HEADERS] => accept, salesforceproxy-endpoint, doiwork, origin, content-type

如何在服务器端访问“salesforceproxy-endpoint”的值?同样,我似乎无法在任何地方找到 ajax 调用的“数据”..

更新:只是为了咯咯笑,我将我的端点移动到同一个域。现在它按预期工作了。

[HTTP_SALESFORCEPROXY_ENDPOINT] => https://login.salesforce.com//services/oauth2/token

有没有办法让这个跨域工作?

【问题讨论】:

    标签: php ajax cross-domain


    【解决方案1】:

    您刚刚知道Same origin policy 是什么;)

    【讨论】:

    • 是的,这很困难。谢谢帕特里克。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    相关资源
    最近更新 更多