是否可以使用getJSON传递2个不同的数组?
$.getJSON('<?php echo $_SERVER['SCRIPT_NAME']; ?>', {
ajax: 'ajax_article_partlist' ,
parent_article: $('#selected_article').val()
},
function(data) {
$('#articles').html('');
$('#article_table').show('slide');
for (var i = 0; i < data.length; i++) {
$('#articles').append("<p>"+data[i]+"</p>");
}
});
这是我的请求,在php端我回显和数组。但我现在得到了第二个数组,我必须传递相同的请求。那是可能的,还是我必须制作一个新的getJSON?
php代码:
case 'ajax_article_partlist' :
header('Content-type: application/json');
$form->addFormField(new FW_HTML_Form_Request('parent_article'));
$form->resolveRequest();
$parent_article = $form->getValue('parent_article');
$part_list =$db_obj->getFormatedPartList($parent_article);
$db_obj->checkArticleProgram($parent_article);
echo json_encode($part_list);
include($_SERVER['DOCUMENT_ROOT'].'/inc/includes/cms.footer.inc');
exit;
break;
答案 0 :(得分:4)
我的PHP有点生疏,但这可能有效:
$two_arrays = array(
"array1" -> $part1_list,
"array2" -> $part2_list
);
echo json_encode($two_arrays);
在您的客户端,您可以data.array1
和data.array2
答案 1 :(得分:2)
以下是数组语法详细信息:http://www.php.net/manual/en/language.types.array.php
echo json_encode(array("part_list" => $part_list, "second_array" => $second_array));
而不是getJSON成功函数:
function(data) {
$('#articles').html('');
$('#article_table').show('slide');
for (var i = 0; i < data.parts_list.length; i++) {
$('#articles').append("<p>"+data.parts_list[i]+"</p>");
}
for (var i = 0; i < data.second_array.length; i++) {
//do somethign with second array
}
}
答案 2 :(得分:1)
尝试这样
$json=new stdClass();
$a=array('a'=>1);
$b=array('b'=>2);
$json->a=array();
$json->b=array();
$json->a=$a;
$json->b=$b;
echo json_encode($json);