2014-01-24 55 views
0

嗨我對ajax和jquery有點新鮮。 我試圖從PHP文件傳遞數組到我的主頁與JavaScript。 到目前爲止它正在返回一個html字符串。不返回數組.get()

希望得到什麼是正確的方法來做到這一點的任何幫助。

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

回答

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

    }); 
}); 
+0

試圖將其固定和修改的數據作爲JSON類型然後訪問。我沒有得到任何回報。但我明白你的想法。 – Tonzkie

+0

檢查你的php日誌。另外,如果您打開php error_log級別,則可以看到返回的錯誤 –

+0

我添加了'var data = JSON.parse(data);'將數據解析爲一個數組,但是我一直收到意外的輸入結束。在線 – Tonzkie

0

選項不能是一個數組,因爲它是一個字符串的的.text()返回一個字符串。

如果文本以及格式化:['a', 'b', 'c'],你可以使用var array = JSON.parse(string)

0

在你tool_processor.php文件,請返回數據作爲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