通过jQuery发送PHP数组的最佳方式是什么?

问题描述:

任何人都可以帮助解释或提供有关如何在jQuery中发送多个数组(或数组)的数组。以及什么是失败或成功的最佳方式。我的意思是如何PHP代码发回成功或失败的消息通过jQuery发送PHP数组的最佳方式是什么?

使用JSON ENCODE

事情是这样的:

的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中发现“错误”。