【发布时间】:2015-03-22 15:15:11
【问题描述】:
我正在使用此函数向使用HTTPS 和非常规端口的服务器发送XHR 请求:https://www.example.com:10000/request.php
function AJAXInteraction(url, callback, str) {
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var resp = JSON.parse(xhr.responseText);
approveResponse (resp);
}
}
xhr.send(str);
}
在我的manifest 中,我已将权限设置为"*://*/*"
{
"name": "Test Extension",
"manifest_version": 2,
"version": "2.0",
"description": "Extension Admin Util.",
"devtools_page": "background.html",
"content_scripts": [
{ "matches": ["http://*/*"], "js": ["content_script.js"] }
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"*://*/*",
"tabs"
]
}
XHR 正在返回 0 并使用开发者工具的“网络”选项卡显示它是 cancelled
我做错了什么?
【问题讨论】:
-
附言。您的问题缺少一个问题。另外,您能否在 Chrome 的 Dev/Canary 版本中对其进行测试,以确保它不是已经修复的错误?
-
服务器使用什么样的证书?你的浏览器信任它吗?
-
它是自签名的,但浏览器信任它(
https符号为绿色) -
你是怎么调用AJAXInteraction函数的?
-
@javsmo ->
var ajax = new AJAXInteraction(url, approveResponse, querystr);
标签: javascript google-chrome-extension xmlhttprequest