我正在编写一个google-chrome扩展程序,它需要向服务器发出ajax请求,发送一些数据并接收一些数据.我的服务器是Tomcat 6.0,在localhost上运行.
我能够在服务器端接收所有数据,执行我需要的所有处理,并将响应发送回扩展,但我在回调中得到的状态是0,而responseText ="".
我的猜测是问题出在服务器上 - 返回对源自chrome-extension:// ... url的请求的响应,或者在扩展中 - 从localhost接收响应:8080.
我当然设置了必要的权限,我尝试将响应的内容类型设置为"text/xml","text/html"和"text/plain" - 它没有任何区别.我已经尝试过使用XMLHttpRequest和JQuery的ajax - 两者都有同样的问题.我发现这些问题,但他们似乎并没有解决我的问题:
1. http://www.plee.me/blog/2009/08/ajax-with-chrome-empty-responsetext/
2. HTTP: //bugs.jquery.com/ticket/7653
这是我的代码:bg.js(背景页面)
function saveText(data) {
var requrl = serverUrl + addTextUrl;
var params = json2urlParams(data);
jQuery.ajax({
type : "POST",
url : requrl,
data : params,
success : function (data, textStatus, XMLHttpRequest) {
console.log("Data Saved: " + msg);
}
});
// var xhr = new XMLHttpRequest();
// xhr.open("POST", requrl, true);
// xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
// xhr.onreadystatechange = function (progress) {
// if (xhr.readyState …Run Code Online (Sandbox Code Playgroud)