5

我想将我的 Chrome 扩展程序连接到我的服务器,并来回发送数据。特别是,当用户在浏览某个 URL 时单击扩展程序上的按钮时,服务器会检查其数据库以查看该 URL 已被单击的次数,增加计数并将新计数发送回用户。

我知道通过 AJAX 请求可以将数据发送到服务器,但是从服务器取回数据呢?

4

2 回答 2

4

我认为,您可以使用 AJAX 以直接的方式获取更新的计数。例如(使用 jQuery):

$.ajax({
  url: 'ajax/count.php?url=' + encodeURIComponent(newURL),
  // dataType: 'json',
  success: function(data) {
    // parse you data received from server here
    // data.count
  }
});

因此,您可以“发送”新信息作为 GET 请求的参数,并从服务器获取所需信息作为 http-response。用于传输计数的数据类型取决于您。例如,这可以是json(jQuery 提供了一个速记方法getJSON,它执行相同的自定义ajax调用)。

如果您不想要 GET,您可以使用 POST 并指定数据,如下所示:

$.ajax({
  type: "POST",
  url: "ajax/count.php",
  data: { url: newURL },
  success: function(data){
    // ...
  }
});
于 2012-11-04T22:51:22.023 回答
1

您显然需要使用xhr / ajax

但是使用当前的 chrome-extension API,您可能会收到这样的错误

请求的资源上不存在“Access-Control-Allow-Origin”标头。

为了解决这个问题,可以简单地将指向服务器的链接放在 manifest.json 中的权限数组中

"permissions": [
    "tabs",
    "http://www.myserver.dom"
],

有关更详细的说明,请参阅Google 的此文档

于 2014-10-30T07:52:19.410 回答