Chrome扩展数据连接到服务器

时间:2012-11-04 20:51:19

标签: database google-chrome google-chrome-extension

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

我知道使用AJAX请求可以将数据发送到服务器,但是如何从服务器恢复数据呢?

2 个答案:

答案 0 :(得分:3)

我认为,您可以使用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响应。用于传输计数的数据类型由您决定。例如,这可以是json(jQuery提供了一种速记方法getJSON,它执行相同的自定义ajax调用。)

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

$.ajax({
  type: "POST",
  url: "ajax/count.php",
  data: { url: newURL },
  success: function(data){
    // ...
  }
});

答案 1 :(得分:1)

您显然需要使用 xhr / ajax

但是使用目前的chrome-extension API,您可能会收到类似

的错误
  

请求的资源上没有'Access-Control-Allow-Origin'标头。

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

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

有关详细说明,请参阅this documentation by Google