首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在chome扩展中通过javascript接收来自XMLHttpRequest的数据?

如何在chome扩展中通过javascript接收来自XMLHttpRequest的数据?
EN

Stack Overflow用户
提问于 2014-10-23 18:15:35
回答 1查看 66关注 0票数 0

我想从一个网页向chrome扩展发送请求,然后在chrome扩展中接收数据和读取数据,有什么方法可以做到吗?

例如:在doman中www.nope.com/sendRequest.html将通过url chrome-extension://xxxxxxx/getData.htm?isToken=abc,发送数据到chrome扩展,然后扩展将接收并读取数据"isToken“。

下面是我用sendRequest.html编写的代码

代码语言:javascript
复制
<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中,如何获取数据?

EN

回答 1

Stack Overflow用户

发布于 2014-10-23 18:24:23

(编辑:您发送的是什么类型的数据?您可以通过GET将其作为JSON编码的字符串传递吗?JSON.stringify()和JSON.parse()可能对您有用。:)

下面的内容可以作为访问POST/GET数据的指南。:)

据我所知,这最好是使用某种形式的服务器端脚本。您可以在JS中使用window.location.search,然后拆分字符串并执行必要的功能,但我认为服务器端脚本可能工作得最好。:)

JS实现的示例如下所示:

代码语言:javascript
复制
   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中。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26525903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档