拒绝设置 Unsafe header "Cookie" Hybrid App

Posted

技术标签:

【中文标题】拒绝设置 Unsafe header "Cookie" Hybrid App【英文标题】:Refused to set Unsafe header "Cookie" Hybrid App 【发布时间】:2019-05-16 07:27:08 【问题描述】:

我正在使用 html5、CSS3、jQuery 和 cordova 创建一个混合移动应用程序。

在通过$.ajaxxhr.setRequestHeader 调用servlet 的应用程序中。代码如下;

var userId = "testuser";
var userPin = "userpin";

var cookieData = "username=" + userId;

$.ajax(
   type: "POST",
   url: WEB_SERVICE_URL,
   data: 
        "EVENT_ID": "LOGIN",
        "userPin": userPin,
        "isHybrid": "H"
   ,
   xhrFields: withCredentials: true,
   beforeSend: function(xhr) 
        xhr.setRequestHeader("Cookie", cookieData);
   ,
   success: function(response) 
        console.log(response);
        stopActivity();
   ,
   error: function(err) 
        console.log(err);
        stopActivity();
   
);

面对 Refused to set unsafe header "Cookie" 在控制台中的错误。未设置请求标头 cookie。

如何解决客户端的问题?

【问题讨论】:

如果您只是发送用户 ID,为什么不将其作为发布数据的一部分发送?其他尝试 cookie master cordova 插件 @Gandhi,感谢您的回复。服务器端功能已经编写为从请求标头获取用户名。 我使用了 cookie master cordova 插件,拒绝不安全的 cookie 问题已解决...谢谢@Gandhi 将发布答案,请接受并投票。谢谢 【参考方案1】:

使用cordova cookie master plugin 应该可以解决您的问题。这个插件允许您通过一个简单的界面从您的 WebView 获取和设置 cookie 值。 androidios 平台均支持此插件。

【讨论】:

以上是关于拒绝设置 Unsafe header "Cookie" Hybrid App的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS:拒绝设置不安全的标头“Access-Control-Request-Headers”

拒绝使用 ajax 调用 Rest 服务器设置不安全的标头“Cookie”

Selenium PhantomJS Java - 拒绝评估字符串,因为'unsafe-eval'不是允许的

“cors header ‘access-control-allow-origin’ missing”拒绝请求,即使来源是允许的

header设置跨域问题

[TypeScript] Catch unsafe use of "this" in TypeScript functions