Использование AJAX для передачи переменной в PHP и повторного получения тех, кто использует AJAX

Я хочу передать значения скрипту PHP, поэтому я использую AJAX для их передачи, и в той же функции я использую другой AJAX для извлечения этих значений.

Проблема в том, что второй AJAX не извлекает никакого значения из файла PHP. Почему это? Как сохранить переменную, переданную на PHP-скрипт, чтобы второй AJAX мог ее получить?

Мой код выглядит следующим образом:

AJAX CODE:

$(document).ready(function() { $("#raaagh").click(function(){ $.ajax({ url: 'ajax.php', //This is the current doc type: "POST", data: ({name: 145}), success: function(data){ console.log(data); } }); $.ajax({ url:'ajax.php', data:"", dataType:'json', success:function(data1){ var y1=data1; console.log(data1); } }); }); }); 

PHP-код:

 <?php $userAnswer = $_POST['name']; echo json_encode($userAnswer); ?> 

Solutions Collecting From Web of "Использование AJAX для передачи переменной в PHP и повторного получения тех, кто использует AJAX"

Использовать dataType:"json" для json данных

 $.ajax({ url: 'ajax.php', //This is the current doc type: "POST", dataType:'json', // add json datatype to get json data: ({name: 145}), success: function(data){ console.log(data); } }); 

Читать документы http://api.jquery.com/jQuery.ajax/

Также в PHP

 <?php $userAnswer = $_POST['name']; $sql="SELECT * FROM <tablename> where color='".$userAnswer."'" ; $result=mysql_query($sql); $row=mysql_fetch_array($result); // for first row only and suppose table having data echo json_encode($row); // pass array in json_encode ?> 

Нет необходимости использовать вторую функцию ajax, вы можете вернуть ее на успех внутри функции, еще одна проблема заключается в том, что вы не знаете, когда закончился первый вызов ajax, тогда даже если вы используете SESSION, вы не сможете получить ее во второй AJAX вызов.

Я рекомендую использовать один вызов AJAX и получить значение с успехом.

Пример: при первом вызове ajax

  $.ajax({ url: 'ajax.php', //This is the current doc type: "POST", data: ({name: 145}), success: function(data){ console.log(data); alert(data); //or if the data is JSON var jdata = jQuery.parseJSON(data); } }); 
 $(document).ready(function() { $("#raaagh").click(function() { $.ajax({ url: 'ajax.php', //This is the current doc type: "POST", data: ({name: 145}), success: function(data) { console.log(data); $.ajax({ url:'ajax.php', data: data, dataType:'json', success:function(data1) { var y1=data1; console.log(data1); } }); } }); }); }); 

Используйте это так: сначала сделайте ajax-вызов для получения данных, тогда ваша функция php вернет результат, который будет получен в данных и передаст эти данные новому вызову ajax

вы должны передавать значения с одинарными кавычками

 $(document).ready(function() { $("#raaagh").click(function(){ $.ajax({ url: 'ajax.php', //This is the current doc type: "POST", data: ({name: '145'}), //variables should be pass like this success: function(data){ console.log(data); } }); $.ajax({ url:'ajax.php', data:"", dataType:'json', success:function(data1){ var y1=data1; console.log(data1); } }); }); }); 

попробуйте, это может сработать …….

В вашем PhP-файле будет переменная, называемая $_REQUEST и она содержит массив со всеми данными, отправляемыми с Javascript на PhP с использованием AJAX.

Попробуйте это: var_dump($_REQUEST); и проверьте, получаете ли вы значения.