无法在 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
.
我已经尝试过的:
将域添加到白名单
确保我保存的 cookie 根本不在服务器端请求 header 中
通过 C# 发出相同的请求以确保它不会是服务器端问题
请求代码:
$.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 调用。愚蠢的。我已经通过编写一个小代理解决了问题,无法绕过任何其他更好的解决方案。感谢任何试图提供帮助的人,我很感激。
我有一个服务器,我正在尝试向其发送 cookie。我发送第一个 POST 请求,我存储从响应 header 接收到的 cookie,然后尝试使用第二个 GET 请求来检索经过身份验证的用户只能访问的数据。 cross-domain 请求没问题,我可以在 Phonegap 应用程序中检索我的 cookie,但是在发送它们时失败了。请求 header 不包含任何 cookie。 phonegap -v
returns 5.1.1-0.29.0
.
我已经尝试过的:
将域添加到白名单
确保我保存的 cookie 根本不在服务器端请求 header 中
通过 C# 发出相同的请求以确保它不会是服务器端问题
请求代码:
$.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 调用。愚蠢的。我已经通过编写一个小代理解决了问题,无法绕过任何其他更好的解决方案。感谢任何试图提供帮助的人,我很感激。