繁体   English   中英

Chrome扩展程序:如何更改AJAX请求标头中的来源?

[英]Chrome Extension: how to change origin in AJAX request header?

我正在尝试在ajax请求标头中手动设置原点。 在我的background.js中,我有这个

var ajaxResponse;
$.ajax({
    type:'POST',
    url:'www.somewebsite.com/login/login.asp',
    headers:{
            'origin': 'https://www.somewebsite.com'
    },
    success: function(response){
        ajaxResponse = response;
    }
});

如您所见,原点已更改。 但是当Chrome扩展程序执行时,原点会覆盖chrome-extension://iphajdjhoofhlpldiilkujgommcolacc并且控制台会出现错误“拒绝设置不安全标头”来源“'

我已经关注Chrome API( http://developer.chrome.com/extensions/xhr.html ),并且已经设置了如下权限

"permissions": [
     "https://www.somewebsite.com/*"
 ],

有谁知道如何在标题中正确设置原点? 谢谢!

你可能误解了文档
扩展可以请求访问其原始之外的远程服务器

这意味着扩展可以将请求发送到远程服务器(即浏览器本身不会像普通网页的JS那样阻止请求)。
并不意味着扩展将被允许伴随该请求,也没有远程服务器响应请求发送任意的头。


因此,如果远程服务器需要Origin标头的特定值,那么您无能为力,因为根据规范,您不允许设置Origin标头(此限制也适用于扩展)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM