我知道我不能将数据类型作为jsonp进行同步ajax调用,并且想知道是否有任何解决方法。我正在尝试学习javascript并试图编写一个函数
chrome.omnibox.onInputChanged.addListener(function(text, suggest){
var baseUrl = "http://sample.com";
var finalResult = [];
$.ajax({
url : baseUrl,
dataType : "jsonp",
success: function(result) {
for (var i=0; i<result[1].legnth; i++){
finalResult.push(
{content : result[1][i], description : result[1][i]}
);
}
},
async: false
});
suggest(finalResult);
});
我需要提供我的ajax调用结果的suggest()函数。所以我需要ajax调用同步吗?我不能那样做,因为那时我遇到了同样的原始政策问题。任何帮助,将不胜感激。谢谢!
答案 0 :(得分:1)
从匿名成功函数调用suggest函数,这样ajax调用可以是异步的。
chrome.omnibox.onInputChanged.addListener(function(text, suggest){
var baseUrl = "http://sample.com";
var finalResult = [];
$.ajax({
url : baseUrl,
dataType : "jsonp",
success: function(result) {
for (var i=0; i<result[1].legnth; i++){
finalResult.push(
{content : result[1][i], description : result[1][i]}
);
}
suggest(finalResult);
},
async: true
});
});