我想将Chrome扩展程序连接到我的服务器,并来回发送数据。特别是,当用户在浏览某个URL时单击该扩展上的按钮时,服务器会检查其数据库以查看该URL被点击的次数,增加计数并将新计数发送回用户。
我知道使用AJAX请求可以将数据发送到服务器,但是如何从服务器恢复数据呢?
答案 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