【问题标题】:Cakephp HTTP Option request problemsCakephp HTTP Option 请求问题
【发布时间】:2014-04-08 12:16:24
【问题描述】:

在处理我的 Cake 应用程序中的基本身份验证时,我遇到了一些问题。我已经到了发送带有授权标头的 ajax 请求的地步,该标头已对我的用户名和密码进行 base64 编码。

这个请求被发送到 Cake,但是当它被发送时它正在做一些预检,因为我的 Cake 应用程序在不同的主机上。当它执行此预检时,我的 GET 请求变为 OPTION 请求,我不确定如何在 Cake 中处理它。关于如何让它发挥作用的任何想法?

这是我的 Ajax 请求:

$(document).ready(function() {
    $('#ajaxRequest').click(function() {
        var username = 'Useracct'
        var password = 'password'
        var tok = username + ':' + password;
        var hash = Base64.encode(tok);
        var authstring = "Basic " + hash;

        $.ajax({
            type: "GET",
            dataType: "json",
            data: {request: "ajax"},
            url: "http://wurx/users/login",
            beforeSend: function(xhr){
                xhr.setRequestHeader("Authorization", authstring);
            },
            success: function(data){
                console.log(data)
            },
            error: function (xhr, ajaxOptions, thrownError) {
                console.log(xhr);
                console.log(ajaxOptions);
            }
        });
    });
});

【问题讨论】:

    标签: php ajax cakephp authentication


    【解决方案1】:

    我设法通过包含一些响应标头来解决此问题,因为请求是跨域的:

    $this->response->header('Access-Control-Allow-Origin', '*');
    $this->response->header("Access-Control-Allow-Headers: Authorization");
    

    【讨论】:

      猜你喜欢
      • 2019-07-24
      • 2011-06-12
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 2015-06-13
      相关资源
      最近更新 更多