Javascript 如何从jquery.ajax()返回数组
我有一段代码:Javascript 如何从jquery.ajax()返回数组,javascript,jquery,Javascript,Jquery,我有一段代码: var suggest=$.ajax({ cache: true, type: 'GET', url: solrServer + "suggest?q=" + valore + ec + "wt=json&omitHeader=true&json.wrf=?", dataType: "jsonp", success: function (data) { data = parse(); func
var suggest=$.ajax({
cache: true,
type: 'GET',
url: solrServer + "suggest?q=" + valore + ec + "wt=json&omitHeader=true&json.wrf=?",
dataType: "jsonp",
success: function (data) {
data = parse();
function parse() {
var parsedQueries = [];
for (var i = 0; i < data.spellcheck.suggestions[1].suggestion.length; i++) {
console.log('i_esimo: ' + data.spellcheck.suggestions[1].suggestion[i]);
parsedQueries[i] = data.spellcheck.suggestions[1].suggestion[i];
}
return parsedQueries;
}
}
});
console.log('suggest: ' + suggest);
我将响应的所有元素可视化,并在数组parsedQueries中分配它之后,最终返回parsedQueries,该查询应分配给我的var suggest,但当我在控制台suggest中打印时,我有:
suggest: [object Object]
而不是我的值数组。问题是:如何从jQuery.ajax()的“success”返回值数组(字符串)?因为ajax是异步执行的,所以不可能从ajax请求返回值 一种可能的解决方案是使用
async:false
标志使请求同步,但不建议这样做
另一种解决方案是使用回调方法来处理ajax请求的结果,您应该在服务器端对数组进行
JSON编码
,它将把数组作为JSON
对象传输回来,并为此在ajax调用中提到数据类型:'JSON'
suggest: [object Object]