2011-05-22 61 views
3

我想知道是否有可能將ajax調用返回給javascript數組,而不是DOM對象。 ajax調用返回值爲value1-value2的n元組,​​我想重複一遍。將jquery ajax調用到數組中

謝謝。

$(function() { 
    $("#categoria").change(function() { 
     var id = $(this).val(); 
     alert(id); 
     vars = load("getcategoria.php", "q="+id); // can I do something like this? how? 
    }); 
}); 

回答

2

是的,你可以這樣做,但.load()是錯誤的工作方法。 .load()用於將HTML加載到特定的DOM元素中。

我建議你讓你的getcategoria.php返回一個JSON對象(使用PHP的json_encode),然後用$.getJSON()來解析它,然後使用它。

$.getJSON("getcategoria.php", "q="+id, function(data){ 
    // data is your JSON object, use it how you wish 
}); 
0

您可以使用jQuery的getJSON()方法返回一個JSON字符串,然後可以遍歷。

鏈接頁面上的這個例子展示瞭如何檢索一個JSON字符串,然後迭代它並生成一個列表。你可以修改這個來執行你自己的迭代和行爲。

$.getJSON('ajax/test.json', function(data) { 
    var items = []; 

$.each(data, function(key, val) { 
    items.push('<li id="' + key + '">' + val + '</li>'); 
}); 

    $('<ul/>', { 
    'class': 'my-new-list', 
    html: items.join('') 
    }).appendTo('body'); 
}); 
0

不要忘記在你的getcategoria.php文件中已設置header('content-type: application/json')