Итак, вот моя проблема, я использую AJAX (jQuery), чтобы отправить форму в process.php
но на самом деле страница должна отображать ответ, такой как apple
или plum
. Я не уверен, как принять ответ от process.php
и сохранить его как переменную …
Вот код, который у меня есть до сих пор:
<script type="text/javascript"> function returnwasset(){ alert('return sent'); $.ajax({ type: "POST", url: "process.php", data: somedata; success function(){ //echo what the server sent back... } }); } </script>
Также мне нужно будет откликнуть ответ в process.php
в json? или текст будет в порядке?
Извините, если это звучит как глупый вопрос, я впервые делаю что-то как таковое в Ajax.
PS: Как я могу назвать запрос POST в приведенном выше коде?
<?php echo 'apple'; ?>
<?php echo 'apple'; ?>
почти буквально все, что вам нужно на сервере.
как и для JS-стороны, вывод скрипта на стороне сервера передается как параметр функции-обработчика успеха, поэтому вы должны иметь
success: function(data) { alert(data); // apple }
Хорошая практика заключается в следующем:
$.ajax({ type: "POST", url: "/ajax/request.html", data: {action: 'test'}, dataType:'JSON', success: function(response){ console.log(response.blablabla); // put on console what server sent back... } });
и часть php:
<?php if(isset($_POST['action']) && !empty($_POST['action'])) { echo json_encode(array("blablabla"=>$variable)); } ?>
<script type="text/javascript"> function returnwasset(){ alert('return sent'); $.ajax({ type: "POST", url: "process.php", data: somedata; dataType:'text'; //or HTML, JSON, etc. success: function(response){ alert(response); //echo what the server sent back... } }); } </script>
в вашем PHP-файле, когда вы эхом используете свои данные, используйте json_encode ( http://php.net/manual/en/function.json-encode.php )
например
<?php //plum or data... $output = array("data","plum"); echo json_encode($output); ?>
в вашем javascript-коде, когда ваш ajax завершает json-кодированные данные ответа, можно превратить в массив js следующим образом:
$.ajax({ type: "POST", url: "process.php", data: somedata; success function(json_data){ var data_array = $.parseJSON(json_data); //access your data like this: var plum_or_whatever = data_array['output'];. //continue from here... } });
var data="your data";//ex data="id="+id; $.ajax({ method : "POST", url : "file name", //url: "demo.php" data : "data", success : function(result){ //set result to div or target //ex $("#divid).html(result) } });