1

我想建立一个使用xhr请求从外部api获取响应的chrome扩展。我已经为扩展名设置了扩展权限,在Chrome扩展文档中仍然提到xhr请求在网络中被取消。Chrome扩展xhr请求被取消

的manifest.json

"browser_action": { 
     "default_icon": "icon.png", 
     "default_popup": "popup.html", 
     "default_title": "Chrome extension title" 
    }, 
"permissions": [ 
    "activeTab", 
    "storage", 
    "https://*/" 
] 

在popup.js

var xhr = new XMLHttpRequest(); 
xhr.open("GET", "https://putsreq.com/4z01VNOBPeD144njWNdi", true); 
xhr.onreadystatechange = function() { 
if (xhr.readyState == 4 && this.status == 200) { 
    var theValue = "asdfassf"; 
    alert("This is doen"); 
    // chrome.storage.sync.set({'value': theValue},()=> { 
    // // Notify that we saved. 
    // document.location.href = "timer.html"; 
    // }); 
} 
} 
xhr.send(); 
+0

1.在chrome:// extensions page 2上重新加载扩展。右键弹出“Inspect”,检查控制台是否有错误。 – wOxxOm

+0

是的,我重新加载了很多次。并且在控制台的网络选项卡中,请求显示取消 –

+0

其他有干扰。发布的代码是正确的。 – wOxxOm

回答

0

我错过了补充event.preventDefault(),它用来取消默认的形式提交。当我添加event.preventDefault()代码到上面的代码它的工作。