我有一些jQuery,它将变量传递到php文件,php文件根据这些要传递回的变量生成动态html内容,然后用于更新页面。
然而,我也想返回一些变量,这样我就可以决定如何以及在哪里显示html内容。
到目前为止,我发现的唯一方法似乎有点粗糙,我相信还有更好的方法。
目前,php文件将生成的内容放在一个类似的标签中
<content>CONTENT HERE</content>
然后,我对我也想返回的var使用另一个标记。
<json>{"name" : "value"}</json>
然后我在ajax回调上有这个
content = $(data).find('content').html();
json = $(data).find('json').text();
我建议您使用json输出,而不是混合xml/json。
在php中
$output=array(
'content'=> $htmlVariable,
'data'=> $resultsArray
);
echo json_encode($output);
然后在js:中
$.getJSON('path/to/server',{/* data if applicable*/}, function(response){
var content = response.content;
var data = response.data;
});
通过这种方式,jQuery将为您管理json字符串解析。
您可以将想要的任何html分配给对象属性或数组,json_encode
将负责所有必要的转义