通过jQuery发送PHP数组的最佳方式是什么?
问题描述:
任何人都可以帮助解释或提供有关如何在jQuery中发送多个数组(或数组)的数组。以及什么是失败或成功的最佳方式。我的意思是如何PHP代码发回成功或失败的消息通过jQuery发送PHP数组的最佳方式是什么?
答
事情是这样的:
的index.php
<script type="text/javascript" src="jsfile.js"></script>
<a href='numbers.php' class='ajax'>Click</a>
numbers.php
<?php
$arr = array ("one" => "1", "two" => "2", "three" => "3"); // your array
echo json_encode($arr); // encode it to json
?>
个jsfile.js
jQuery(document).ready(function(){
jQuery('.ajax').live('click', function(event) {
event.preventDefault();
jQuery.getJSON(this.href, function(snippets) {
alert(snippets); // your array in jquery
});
});
});
答
查看this article为例。基本上,您必须使用PHP's json_encode()
将PHP数组转换为JSON代码。在链接的例子中,the jquery-json plugin用于将JSON转换回Javascript数组。
或者,您可以使用jQuery's built-in capabilities来检索作为Javascript数组/对象的PHP响应。
答
如果它是一个简单的错误消息,并且总是相同的,你可以简单地返回字符串如“错误”并在JavaScript中测试该值。但我建议发送XML格式的complec数据,或者在JSON中发送更好的数据(因为它比较小,可以在不使用JavaScript的情况下使用)。只是这样做在你的PHP:
if($error){
echo "error";
} else {
json_encode($complex_data);
}
如果你想要把一些信息到你的错误,我强烈建议,只返回使用JSON编码的错误数组。所以用这个替换回声“错误”:
echo json_encode(array("error" => "your error message", "status" => "an optional error status you can compare in JavaScript"))
比你只需要检查是否在从PHP返回的JSON中发现“错误”。