【问题标题】:How to receive data from XMLHttpRequest in chome extension via javascript?如何通过 javascript 从 chrome 扩展中的 XMLHttpRequest 接收数据?
【发布时间】:2014-12-18 23:48:33
【问题描述】:

我想从一个网页向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 中,如何获取数据?

【问题讨论】:

    标签: javascript jquery google-chrome-extension xmlhttprequest


    【解决方案1】:

    (编辑:您发送什么类型的数据?您可以通过 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。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 2015-11-15
      • 2012-03-14
      • 2018-08-29
      相关资源
      最近更新 更多