嗨,我对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);
答案 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
的教程