将jquery ajax调用获取到数组中

时间:2011-05-22 22:11:38

标签: jquery ajax

我想知道是否可以将ajax调用返回到javascript数组,而不是DOM对象。 ajax调用返回的值类似于value1-value2的n元组,​​我想迭代它。

感谢。

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

3 个答案:

答案 0 :(得分:2)

是的,你可以这样做,但.load()是错误的工作方法。 .load()用于将HTML加载到特定的DOM元素中。

我建议您让getcategoria.php返回一个JSON对象(使用PHP的json_encode),然后使用$.getJSON()获取它,解析它,并按照您的意愿使用它。< / p>

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

答案 1 :(得分: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');
});

答案 2 :(得分:0)

并且不要忘记在getcategoria.php文件中设置header('content-type: application/json')