Как возвратить данные от PHP до jQuery ajax вызов

Я отправляю некоторые данные с помощью ajax. Я хочу управлять теми данными и возвратиться к к вызову сценарий jQuery.

Вот мой jQuery:

$.ajax({
  type: "POST",
  url: "somescript.php",
  datatype: "html",
  data: dataString,
  success: function() {
    //do something;
    }
});

Вот мой somescript.php на сервере:

  <?php
    //manipulate data
    $output = some_function(); //function outputs a comma-separated string
    return $output;
  ?>

Я делаю это правильно на стороне сервера, и как я получаю доступ к возвращаемой строке, когда вызов ajax завершается?

45
задан user191688 9 March 2010 в 16:45
поделиться

3 ответа

Я разобрался. Необходимо использовать эхо в PHP вместо return.

<?php 
  $output = some_function();
  echo $output;
?> 

И jQ:

success: function(data) {
  doSomething(data);
}
72
ответ дан 26 November 2019 в 21:11
поделиться

Да, вы делаете это совершенно законно. Чтобы получить доступ к этим данным на стороне клиента, отредактируйте свою функцию успеха, чтобы она приняла параметр: data.

$.ajax({
    type: "POST",
    url: "somescript.php",
    datatype: "html",
    data: dataString,
    success: function(data) {
        doSomething(data);
    }
});
2
ответ дан 26 November 2019 в 21:11
поделиться

Это аргумент, передаваемый вашей функции success:

$.ajax({
  type: "POST",
  url: "somescript.php",
  datatype: "html",
  data: dataString,
  success: function(data) {
    alert(data);
    }
});

Полная сигнатура - success(data, textStatus, XMLHttpRequest), но вы можете использовать только первый аргумент, если возвращается простая строка. Как всегда, смотрите документацию для полного объяснения :)

16
ответ дан 26 November 2019 в 21:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: