Как получить «данные» из запросов JQuery Ajax

это код, который у меня есть на index.html:

<html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> $.ajax({ type: "POST", url: 'test.php', data: "check", success: function(data){ alert(data); } }); </script> </head> <body> <div></div> </body> </html> 

Как я могу запрограммировать test.php для получения «данных», которые отправляются в API AJAX?

Вы задаете здесь очень простой вопрос. Сначала вы должны пройти несколько учебных пособий Ajax. Просто, чтобы помочь вам немного (если вы знаете методы GET и POST отправки данных), «данные» в данных: «проверка» отличается от «данных» в функции (данных), различны. Для ясности вы должны назвать их разными:

 $.ajax({ type: "POST", url: 'test.php', data: "check", success: function(response){ alert(response); } }); 

Это дает понять, что это данные, которые вы отправляете в файл test.php в параметрах POST, а другой – ответ, который вы получаете из файла test.php после его запуска. Фактически, параметр данных, который вы используете POST для test.php, должен быть хешем, как здесь (я предполагаю, что ключ называется «type» здесь:

 $.ajax({ type: "POST", url: 'test.php', data: {"type":"check"}, success: function(response){ alert(response); } }); 

Очевидно, что в данных может быть больше пар ключ-вал.

Итак, если ваш файл test.php выглядит примерно так:

 if(isset($_POST['type'])){ //Do something echo "The type you posted is ".$_POST['type']; } 

В этом случае ваше предупреждение должно читать: «Тип, который вы опубликовали, – это проверка». Это изменится в зависимости от того, какое значение вы отправляете для клавиши «type» в вызове AJAX.

Вы можете попробовать это

  $.ajax({ type: "POST", url: 'test.php', data: {"data":"check"}, success: function(data){ alert(data);//This will alert Success which is sent as the response to the ajax from the server } }); 

И в test.php

 if(isset($_POST['data']) && $_POST['data'] == 'check'){ //$_POST['data'] contain the value that you sent via ajax //Do something echo 'Success'; } 

Вы можете проверить это для более

Если вы хотите иметь дело с большим количеством данных с помощью jquery ajax. Я предпочитаю тип данных json.

Просто используйте вот так.

 $.ajax({ type: "POST", url: 'test.php', dataType: 'json', data: {"data":"check"}, success: function(data){ alert(data.value1); alert(data.value2); } }); 

В вашем PHP-коде

 if(isset($_POST['data']) && $_POST['data'] == 'check'){ //Data 1 $data['value1'] = 'Data 1 Got Successfully'; //Data 2 $data['value2'] = 'Data 2 Got Successfully'; $resonse = json_encode($data); echo $response; } 

Ваш HTML будет

 <html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> $.ajax({ type: "POST", url: 'test.php', data: {"myvar":"check",}, success: function(data){ alert(data); } }); </script> </head> <body> <div></div> </body> </html> 

Обратите внимание, что данные представляют собой массив, поэтому вам придется передавать переменную и ее значение в данных. Вы можете передавать несколько переменных в данных, разделяя их запятой.

И чтобы выбрать данные, отправленные вашим ajax, в test.php:

 <?php if(isset($_POST['myvar'])) { $myVariable = $_POST['myvar']; echo $myVariable; //This would output the string passed in ajax, check } ?> 

$ _POST зависит от типа, используемого в вызове AJAX. Если тип GET, в php это будет $ _GET. Простая вещь вместо этого будет $ _REQUEST, которая независимо от того, является ли вызов AJAX типом GET или POST.

 $.ajax({//create an ajax request to load_page.php type: "POST", url: "test.php", data:{"data":"check"}, success: function(data) { if (data) { alert(data); } else { alert('Successfully not posted.'); } } }); 

В test.php

 <?php if(isset($_POST['data'])){ echo 'successful'; } ?> 

Вывод файла PHP будет отправлен в вашу функцию AJAX succes.