通过带有jQuery的json通过ajax传递多维数组

时间:2019-05-28 00:45:48

标签: php jquery json ajax

我正在尝试通过ajax进行表单验证。我清理表单,然后将其传递到将清理并验证表单的php文件中。如果有任何错误,我希望它可以将字段边框更改为其他颜色,并在表格下方显示错误消息(我可以这样做)。

仅来自此php文件,它将通过ajax调用,但需要返回一个数组,如:

id_with_check: ID { check_var(); } ;

lval: id_with_check
    | id_with_check LBRACK NUM RBRACK
    | id_with_check LBRACK id_with_check RBRACK
;

产生一个看起来像这样的数组:

$errors = array();
$errors['text'] = array(array('name'=>'address','messages'=>'Enter an address'),array('name'=>'phone','messages'=>'Enter a phone'));
$errors['select'] = array(array('name'=>'company','messages'=>'Enter a company name'));

如果有的话,现在在该文件的末尾

Array
(
    [text] => Array
        (
            [0] => Array
                (
                    [name] => address
                    [messages] => Enter an address
                )

            [1] => Array
                (
                    [name] => phone
                    [messages] => Enter a phone
                )

        )

    [select] => Array
        (
            [0] => Array
                (
                    [name] => company
                    [messages] => Enter a company name
                )

        )

)

然后我将把该数组编码为json,这意味着我可以将其传递给jquery脚本。

$data = $errors;
echo json_encode($data);

我不确定的部分是如何在成功的情况下从阵列中取回所有数据。 我想做的等同于:

serialize = $('#form').serialize();
$.ajax({        
    type    : 'POST',
    dataType : 'json',
    url     : '//'+base_url+'/ajax/form-validation.php',
    data    : serialize,
    success : function(data) {

    }
}); 

因此对于'text'变量,它们将通过text()函数传递名称和消息变量,而'select'变量将通过select()函数进行传递。

但是如何通过json和jquery来实现呢?

0 个答案:

没有答案