Chrome扩展程序与其他Web服务进行通信

Wyl*_*rio 6 javascript web-services google-chrome-extension

我是chrome扩展程序的新手,我正在开发一个扩展程序,它将与我的其他Web服务进行通信.我的其他Web服务将返回一个json字符串.我想做的是调用我的Web服务,获取响应json.

目前我在我的background.js中有这个:

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.tabs.getSelected(null,function(tab) {
        var link = tab.url;
        alert(link);
    });
});
Run Code Online (Sandbox Code Playgroud)

我的计划是当用户点击图标扩展名时,当前标签页将被发送到我的网络服务,它将获得响应json.

我的问题是,webclient.downloadstring在C#中执行某些操作的代码或语法是什么?或者我如何与Web服务进行通信?

Rob*_*b W 7

您正在寻找的API称为XMLHttpRequest(也称为"AJAX").有关更多信息,阅读https://developer.chrome.com/extensions/xhr上的文档.

这是一个例子:

chrome.browserAction.onClicked.addListener(function(tab) { 
    var link = tab.url;
    var x = new XMLHttpRequest();
    x.open('GET', 'http://example.com/?whatever=' + link);
    x.onload = function() {
        alert(x.responseText);
    };
    x.send();
});
Run Code Online (Sandbox Code Playgroud)

注意.该XMLHttpRequestAPI是异步的.这意味着你不能做这样的事情:

...
var result;
x.onload = function() {
    result = x.responseText;
};
x.send();
alert(result); // Does not behave as you expect!
Run Code Online (Sandbox Code Playgroud)