it-swarm.com.ru

Получить ответ от PHP использование файла AJAX

Итак, вот моя проблема: я использую 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 в приведенном выше коде?

30
user115422

<?php echo 'Apple'; ?> буквально все, что вам нужно на сервере. 

что касается стороны JS, выходные данные серверного сценария передаются в качестве параметра в функцию-обработчик успеха, поэтому вы должны иметь

success: function(data) {
   alert(data); // Apple
}
39
Marc B

Хорошей практикой является использование так: 

$.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));
    }
?>
24
Alex
<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>
15
Ethan

в вашем 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...
                }
            });
9
Tucker
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)
        }
   });
0
Pankaj Thorat