簡體   English   中英

如何從jquery.ajax()返回數組

[英]how to return array from jquery.ajax()

我有這段代碼:

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);

當我在控制台中打印時:

console.log('i_esimo: ' + data.spellcheck.suggestions[1].suggestion[i]);

我可視化響應的所有元素,並在數組parsedQueries分配響應之后,最后返回parsedQueries,應將其分配給我的var建議,但是當我在控制台建議中打印時,我有:

suggest: [object Object]

而不是我的價值陣列。 問題是:如何從jQuery.ajax()的“成功”返回值數組(字符串)?

由於ajax是異步執行的,因此不可能從ajax請求中返回值。

一種可能的解決方案是使用async: false標志使請求同步。但是不建議這樣做。

另一個解決方案是使用回調方法來處理ajax請求的結果

您應該在服務器端JSON encode數組進行JSON encode ,然后將其作為JSON對象傳輸回去,並為此在ajax調用中提及dataType :'JSON'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM