哈苏!一直在尝试将我的 Chrome 扩展程序转移到清单 2。除了一个调用 ajax 的脚本外,一切正常。我有一个包含需要传输到服务器的 JSON 内容的变量。
function sendlist(list){
jsontext = JSON.stringify(list);
$.ajax({
url: amfurl + "user/listbookmarks/",
dataType: 'text json',
async: true,
type: 'POST',
processData: false,
data: {'folders': jsontext},
success: function(data){
$('#importing').css('display','none');
$('#importdone').css('display','block');
console.log(data);
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
}
由于某种原因,ajax 部分根本没有执行。没有触发错误消息,也没有在服务器错误日志中。
所有内联脚本和一般脚本都包含在 popup.js 中。所以这可能不是问题。
有什么想法吗?
谢谢!
以下代码在以前的清单上完美运行
function importbookmarks(){
$('#formadd').css('display','none');
$('#importing').css('display','block');
_gaq.push(['_trackEvent', 'chromextension','importbookmarks', username]);
chrome.bookmarks.getTree(function(bookmarks) {
sendlist(bookmarks);
});
}
function sendlist(list){
jsontext = JSON.stringify(list);
$.ajax({
url: amfurl + "user/listbookmarks/",
dataType: 'text json',
async: true,
type: 'POST',
// processData: false,
data: {'folders': jsontext},
success: function(data){
$('#importing').css('display','none');
$('#importdone').css('display','block');
console.log(data);
}
});
}