加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax – 由于源控件切换到https后,Chrome扩展程序无法从服务器获

发布时间:2020-12-15 22:55:51 所属栏目:百科 来源:网络整理
导读:我一直在与Chromium,jQuery和 AJAX作斗争.我的扩展使用ajax从一些站点获取一些资源,然后解析结果并将其存储在某个地方.其中一个网站决定跳转到https.整齐.我只需要为https更改http,并解决我遇到的任何问题.没有快乐. 我使用以下ajax方法来获取东西(是我可以
我一直在与Chromium,jQuery和 AJAX作斗争.我的扩展使用ajax从一些站点获取一些资源,然后解析结果并将其存储在某个地方.其中一个网站决定跳转到https.整齐.我只需要为https更改http,并解决我遇到的任何问题.没有快乐.

我使用以下ajax方法来获取东西(是我可以重现的最小单位):

$.ajax({
        url: "https://reader.japanzai.com/search/",type: 'POST',data: {
            'search': "onna"
        },beforeSend: function (xhr) {
            xhr.setRequestHeader("Access-Control-Allow-Origin","*");
        },headers: {
            'Access-Control-Allow-Origin': '*'
        }})

让我忽略一下,我已经设置了两次标题,因为只使用一个不起作用并抛出结果:

OPTIONS https://reader.japanzai.com/search/ No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'chrome-extension://nhjloagockgobfpopemejpgjjechcpfd' is therefore not allowed access. jquery.js:5
x.support.cors.e.crossDomain.send jquery.js:5
x.extend.ajax jquery.js:5
(anonymous function) VM4000:2
InjectedScript._evaluateOn VM3770:581
InjectedScript._evaluateAndWrap VM3770:540
InjectedScript.evaluate VM3770:459
XMLHttpRequest cannot load https://reader.japanzai.com/search/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'chrome-extension://nhjloagockgobfpopemejpgjjechcpfd' is therefore not allowed access. lab.html:1

正如您所看到的,它表示请求标头不存在,在http请求之后也是如此:

Request URL:https://reader.japanzai.com/search/
Request Method:OPTIONS
Status Code:200 OK
Request Headersview parsed
OPTIONS https://reader.japanzai.com/search/ HTTP/1.1
origin: chrome-extension://nhjloagockgobfpopemejpgjjechcpfd
access-control-request-method: POST
dnt: 1
accept-encoding: gzip,deflate,sdch
host: reader.japanzai.com
accept-language: es,en-US;q=0.8,en;q=0.6
method: OPTIONS
user-agent: Mozilla/5.0 (X11; Linux i686 (x86_64)) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/31.0.1650.63 Safari/537.36
accept: */*
url: /search/
scheme: https
version: HTTP/1.1
access-control-request-headers: access-control-allow-origin,accept,content-type

响应:

HTTP/1.1 200 OK
cache-control: post-check=0,pre-check=0,max-age=0
content-encoding: gzip
content-type: text/html
date: Thu,13 Feb 2014 22:58:03 GMT
expires: Sat,01 Jan 2000 00:00:01 GMT
last-modified: Thu,13 Feb 2014 22:58:03 GMT
pragma: no-cache
server: nginx/1.5.8
set-cookie: ci_session=U3Q14aq8Q7W4KVifDyLi7%2B3lppr%2FS4BNmW1kD9t60H7dz73M5KMs1jgBo8ZrilKoswn63PvCl1sOldPs1RCl6NdiP1VZeekoMTISyQenQZU0F8yUC0odw6WuMUE5I%2FY%2Bfvddv2YH06b2pxyyNBDZnNn%2BLnLzPrRYBXHuAjFbTyucX%2FMLUUM2cwKLzaK3ILKPhxy8FXW%2FI%2F9EPPbwo%2B8nmbPwOeqDfpDdu61F5yzUU8KjfUo7MwwFIXyGWtqbjbF3PCKNZrY%2F3Cj77DgCpcCbTTKZ%2BVzrdw16oGVDg1dP8lQgSof89rLNqUlQSj60tCVzZ27oPNh9OvvTNJ92tYkTHDukG4dyv21yM4M3PACZ%2FKVNP0i2UWHbBujADPSsrGJhJxPzBsuRDLcPtDcBtuaXA4LLMoGoYW6SxYk%2BseltMvk%3D; expires=Fri,14-Feb-2014 00:58:03 GMT; path=/
set-cookie: ci_session=tQT8qmNRnMRN2Oj3moCdZg9VNEEsPxi3t88g2SpYQxahFr%2FpiEpQFzsO2mLTp1bPlsGLmqQGnMUiuwFpLYNIneNHtU%2BoKkVOcnR8ZKxPd0FDrkW%2BqT0N2IIsV%2BC%2FXQX%2BZUkLg1E4iP6u%2F0%2Fjk1t%2BAwcwhoC0M3zODuEKv1l9JMFo%2B1g4%2BhIOp%2FHTzBnlMvE2KjanXJR55F3DOHdyi4MvQb1vzgWEZTTAfhZ3bkQPkKe41ZCJYQTw%2FrDfry8n2h43UKPc1IF4tWp%2BKh0yhux%2FsBn84meT3xR%2Bpba9ffeZObrQyVomKlmJg9oRkKvlhR4MlNsiIeIZEvtP52ns0X1uF%2B7Pg6RpcMihe1u2S0%2Fbz5wm75vQ6tyykmFp5qfnoDgXB6J7RmbBQy4GTOFEA2zqN3V6QXT71cSn%2B1ARd9GtNMA%3D; expires=Fri,14-Feb-2014 00:58:03 GMT; path=/
status: 200 OK
strict-transport-security: max-age=31536000
vary: Accept-Encoding
version: HTTP/1.1
x-powered-by: PHP/5.4.4-14+deb7u7

所以,我在这里遗漏了一些显而易见的东西,或者没有办法做到这一点?

解决方法

我遵循了亚伯拉罕的建议,并将该网站添加到清单中的权限字段中.它工作,唯一不好的是,如果另一个网站决定转移到https我需要发布一个新版本,所以这就是我结束了:
"permissions" : [
    "tabs","*://*/*","https://ssl10.ovh.net/*","unlimited_storage","clipboardWrite",

这里的重要部分是“*:// * / *”,其中包含来自http和https的任何内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读