Передача многомерного массива через AJAX через JSON с JQuery - PullRequest
1 голос
/ 28 мая 2019

Я пытаюсь выполнить проверку формы через ajax.Я очищаю форму и передаю ее в php-файл, который будет очищать и проверять форму.Если есть какие-либо ошибки, я хочу, чтобы он изменил границу поля другим цветом и отобразил сообщение об ошибке под формой (это я не могу сделать без проблем).

Это только что из этого php-файла, он будет вызываться через ajax, но должен возвращать массив вроде:

$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
                )

        )

)

Теперь в конце этого файла, если у меня есть

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

Тогда я закодирую этот массив в json, и это означает, что я могу передать его в скрипт jquery.

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

    }
}); 

Часть, в которой я не уверен, - как вернуть все данные из массива в процессе.Я хочу сделать эквивалент:

foreach($errors['text'] as $e) text($e);
foreach($errors['select'] as $e) select($e);

Так что для переменных 'text' они будут передавать переменные name и message через функцию text (), а переменные 'select' будут делать то же самое черезфункция выбора ().

Но как это достигается с помощью json и jquery?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...