如何通过javascript从chome扩展中的XMLHttpRequest接收数据
How to receive data from XMLHttpRequest in chome extension via javascript?
我想从一个网页向chrome扩展发送请求,然后在chrome扩展中接收数据并读取数据,有什么方法吗?
例如:在doman中,www.nope.com/sendRequest.html将通过url chrome向chrome扩展发送数据-extension://xxxxxxx/getData.htm?isToken=abc,然后扩展将接收并可以读取数据"isToken"。
这是我在sendRequest.html 中的代码
<script type="text/javascript">
function sendRequest() {
document.write("Sending request");
var req = new XMLHttpRequest();
req.open("POST", "chrome-extension://xxxxxxxxxx/getData.htm?isToken=abc", true);
req.onreadystatechange = function () {
if (req.readyState == 4) {
if (req.status == 200) {
alert(req.responseText);
document.write("OK");
}
}
};
req.send();
}
</script>
在chrome扩展文件getData.htm中,如何获取数据?
(编辑:您发送的数据类型是什么?您能通过GET将其作为JSON编码的字符串传递吗?JSON.stringfy()和JSON.parse()可能对您有用。:)
以下内容作为访问POST/GET数据的指南可能很有用。:)
据我所知,这最好使用某种形式的服务器端脚本。您可以在JS中使用window.location.search,拆分字符串并执行必要的功能,但我认为服务器端脚本可能效果最好。:)
JS实现的示例如下:
var url = window.location.search;
var params = url.substr(url.IndexOf("?") - 1, 30);
这将获取参数(从?(包括)开始,并持续30个字符。您也可以使用类似var params = url.substr(url.IndexOf("?") - 1, url.length);
的东西来获取整个参数列表。
从那时起,如何使用它取决于您,但您可以通过switch()或任何您需要的方式传递它。:)
显然,这是一个chrome扩展将限制您对任何服务器端处理的选择。:/
编辑:以上内容将进入getData.htm.:)
相关文章:
- XMLHttpRequest未返回值-状态202
- XMLHttpRequest在移动设备上的chrome上不起作用
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 检查xmlhttprequest问题的消息
- 主线程上的同步XMLHttpRequest已弃用
- 如何定期发出xmlhttprequest
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 上传带有XMLHttprequest的文件-多部分/表单数据中缺少边界
- 对象#<XMLHttpRequest>没有方法'完成'
- 在XMLHttpRequest之后重新初始化jQuery
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- Javascript XMLHttpRequest——只有第一个POST请求有效
- XMLHttpRequest - difference between Chrome & Firefox
- IE上的新XMLHttpRequest()出现JS Ajax未指定错误
- 非常简单的XMLHttpRequest不起作用
- 如何使用XMLHttpRequest下载文件
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- XMLHttpRequest.open()AJAX中的参数url
- XMLHTTPRequest脚本中没有internet连接和超时
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作