不返回数组.get()

时间:2014-01-24 08:37:32

标签: jquery arrays

嗨,我对ajax和jquery有点新鲜。 我正在尝试使用javascript将一个数组从PHP文件传递到我的主页面。 到目前为止它返回一个html字符串。

非常感谢有关正确方法的任何帮助。

var j = jQuery.noConflict();
var results;
j( document ).ready(function() {
    j.get("tool_processor.php", {
      key: "value"
    })
    .done(function (data){
      var options = j(data).find('response').first().text();


      if (options instanceof Array) {
        alert('value is Array!');
        } else {
        alert('Not an array');
        }

    });
});

和php文件

$arr= array('one', 'two', 'three');
return($arr);

3 个答案:

答案 0 :(得分:2)

如果你想使用php返回的数据作为数组,你可以将你的数组编码为json并迭代返回的数据,如;

<强> PHP:

$arr= array('one', 'two', 'three');
return json_encode($arr);

<强> JS:

var j = jQuery.noConflict();
var results;
j( document ).ready(function() {
    j.get("tool_processor.php", {
      key: "value"
    })
    .done(function (data){
      $.each(data, function(k,v) {
          console.log(v); // one, two, tree
       });

    });
});

答案 1 :(得分:0)

options不能是一个Array,因为它是一个String,.text()返回一个String。

如果文字格式正确:['a', 'b', 'c'],您可以使用var array = JSON.parse(string)

答案 2 :(得分:0)

tool_processor.php文件中,请以JSON格式返回数据。

然后您可以将数据用作JSON类型,然后按对象访问

var j = jQuery.noConflict();
var results;
j( document ).ready(function() {
    j.get("tool_processor.php", {
      key: "value"
    })
    .done(function (data){
      var data = JSON.parse(data);
      // Process data JSON 
    });
});

关于JSON

的教程