无法在 Phonegap 中使用 AJAX cross-domain 请求发送 cookie

Couldn't send cookies with AJAX cross-domain request in Phonegap

我有一个服务器,我正在尝试向其发送 cookie。我发送第一个 POST 请求,我存储从响应 header 接收到的 cookie,然后尝试使用第二个 GET 请求来检索经过身份验证的用户只能访问的数据。 cross-domain 请求没问题,我可以在 Phonegap 应用程序中检索我的 cookie,但是在发送它们时失败了。请求 header 不包含任何 cookie。 phonegap -v returns 5.1.1-0.29.0.

我已经尝试过的:

请求代码:

$.ajax(
        {
            type: "GET",
            url: "url",
            xhrFields: {
                withCredentials: true
            },
            crossDomain: true,
            beforeSend: function(xhr) {
                xhr.setRequestHeader("Cookie", mycookies);
            },
            success: function(data){
                console.log(data);
            },
            error: function (xhr) {
                console.log(xhr.responseText);
            }
        }
    );

非常感谢任何帮助,谢谢。

通过快速搜索,我了解到 Cordova 不保存 cookie,因此您必须改用本地存储。

示例如下:http://justbuildsomething.com/cordova-and-express-session/

在 headers 添加 cookie ajax:

$.ajax(
    {
        type: "GET",
        url: "url",
        xhrFields: {
            withCredentials: true
        },
        crossDomain: true,
        headers: {
          Cookie: mycookies
        },
        success: function(data){
            console.log(data);
        },
        error: function (xhr) {
            console.log(xhr.responseText);
        }
    }
);

最终,Phonegap 似乎没有任何外部插件可以让您使用 cookie header 执行 cross-domain AJAX 调用。愚蠢的。我已经通过编写一个小代理解决了问题,无法绕过任何其他更好的解决方案。感谢任何试图提供帮助的人,我很感激。