繁体   English   中英

如何通过javascript通过chome扩展从XMLHttpRequest接收数据?

[英]How to receive data from XMLHttpRequest in chome extension via javascript?

我想向chrome扩展程序发送网页请求,然后在chrome扩展程序中接收数据并读取数据,有什么办法吗?

例如:在doman www.nope.com/sendRequest.html中,它将通过url chrome-extension://xxxxxxx/getData.htm?isToken = abc将数据发送到chrome扩展程序,然后扩展程序将接收并读取数据“ 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.stringify()和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中。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM