我创建了一个AJAX请求,我已将数据发送到process.php页面,此页面将处理此数据,然后将创建一个将作为AJAX响应发送的JSON对象。现在我需要创建一个第二个JSON对象才能作为AJAX响应发送,这是可能的吗? ,如果可能的话,我怎么能单独管理这两个对象?
我的代码是:
$(document).on('change', '#seleccio_test,#seleccio_test2', function(){
var capaTEST;
var pagina="show_test_prova.php";
$.ajax({
async:false,
cache:false,
dataType:"json",
type: "POST",
url: pagina,
data: "dades_test="+obtenirTest(),
success: function(obj1){
//alert(JSON.stringify(resultat));
var idtest=0;
$.each(obj1, function(key, value) {//object 1 that i retrieve from process.php
if(key !=0){
for (i = 0; i < value.length; i++) {
alert("Key:" + key + " /value: " + value+" /index: "+idtest);
var llistat_test="";
llistat_test +="<div id='"+value+"'>";
llistat_test+="<ol><li><label for='test' id='etiquetalabel'>"+value[i]+"</label>";
llistat_test+="<input type='checkbox' id='$capaCONTENT"+idtest+"name='test[]' value='"+value[i]+"'";
llista_test+="onclick=' onclick='show_content($seleccio_content,$id_capa,$pagina,$idtest,$valor_org,$valor_eval,$valor_test)';>";
llistat_test+="</div> <ol> <div style='display: none;'> </div></ol></li></ol> ";
var contenido= $("#"+key);
var elementBuscado=$("#"+value);
//if(!contenido.find(elementBuscado).length){
//no exist
contenido.append(llistat_test);
//}
idtest++;
}
}
});
},
beforeSend:function(){},
error:function(jqXHR, textStatus, errorThrown ){}
})
})
问候。
答案 0 :(得分:0)
是的,将两个对象放在一个更大的JSON对象中。无论是数组为2,还是带有键+值对的Map / Hash / Object都可以正常工作。
我没有看到您的PHP代码,但假设您决定返回两个对象的数组,您的客户端代码看起来像
success: function(array){
obj1 = array[0]
obj2 = array[1]
...
JSON对象可以包含无限量的内部数组或对象。
示例JSON对象:{"key","value"}
两个对象的示例JSON数组:[ {"key","value"}, {"key","value"} ]
答案 1 :(得分:0)
当您回复json_encode($var)
时,您可以使用array
代替变量,如下所示:
echo json_encode(array('data1' => $var1, 'data2' => $var2));
在js或jquery部分,您可以obj.data1
和obj.data2
答案 2 :(得分:-1)
查看multipart / form-data。没有使用它,但我认为这是你想要的。