Javascript Chrome扩展与RESTWeb服务通信

Javascript Chrome扩展与RESTWeb服务通信,javascript,web-services,google-chrome-extension,Javascript,Web Services,Google Chrome Extension,我是chrome扩展的新手,我正在开发一个扩展,它将与我的RESTWeb服务通信。我的RESTWeb服务将返回一个json字符串。我想做的是调用我的web服务,获取json响应 目前我的background.js中有以下内容: chrome.browserAction.onClicked.addListener(function(tab) { chrome.tabs.getSelected(null,function(tab) { var link = tab.url;

我是chrome扩展的新手,我正在开发一个扩展,它将与我的RESTWeb服务通信。我的RESTWeb服务将返回一个json字符串。我想做的是调用我的web服务,获取json响应

目前我的background.js中有以下内容:

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.tabs.getSelected(null,function(tab) {
        var link = tab.url;
        alert(link);
    });
});
我的计划是,当用户单击图标扩展时,当前选项卡url将发送到我的web服务,它将得到json响应

我的问题是,在C#中执行类似于
webclient.downloadstring
的代码或语法是什么?或者如何与web服务通信?

您正在寻找的API称为
XMLHttpRequest
(也称为“AJAX”)。有关更多信息,请阅读位于的文档

下面是一个例子:

chrome.browserAction.onClicked.addListener(函数(选项卡){
var link=tab.url;
var x=新的XMLHttpRequest();
x、 打开('获取','http://example.com/?whatever="链接",;
x、 onload=函数(){
警报(x.responseText);
};
x、 send();
});
注意。
XMLHttpRequest
API是异步的。这意味着您不能执行以下操作:

。。。
var结果;
x、 onload=函数(){
结果=x.responseText;
};
x、 send();
警告(结果);//行为不像你期望的那样!

我想一切都在权限范围内


我试过密码,但似乎没有反应。我希望警报消息应该会弹出(虽然我用字符串消息替换了它),但不会弹出。这是什么权限?添加我看到它处理远程服务器中的CORS权限(HTTP头)。它必须给予所有客户适当的权利,以及你的Chrome扩展。这对于浏览器中的所有AJAX连接都是通用的。
{
  "manifest_version": 2,

  "name": "AppuntiVari.net - Agenda events",
  "description": "AppuntiVari.net - Agenda events",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": ["tabs", "http://appuntivari.net/*"],
  "options_page": "options.html",
  "homepage_url": "http://appuntivari.net",

  "background": { "scripts": ["js/jquery-1.10.2.js",
"js/jquery-ui-1.10.4.custom.js","background.js","popup.js"] },

  "web_accessible_resources": [
    "48.png"
  ],
  "icons": {"16": "16.png", "48": "48.png", "128": "128.png"}
}
$.ajax({
url:  "http://appuntivari.net/MyServiceAPI-portlet/
api/secure/jsonws/agenda/get-events-byIdUser/id_user/"+id_user,
type: "GET",