вернуть responseText из jQuery.get () - PullRequest
12 голосов
/ 29 сентября 2011

Я пытался сделать что-то вроде этого:

var msg = $.get("my_script.php");

Я думал, что для msg будет задан текст, возвращаемый my_script.php, то есть responseText объекта jqXHR.По-видимому, это не работает так, поскольку для msg всегда задано значение «[object XMLHttpRequest]»

Существует ли быстрый способ, позволяющий сделать то, что я хочу, в одну строку?

Спасибо.

Ответы [ 4 ]

30 голосов
/ 31 января 2013

После некоторого тестирования я нашел решение.

Мне нужно, чтобы вызов был синхронным, сокращенная функция $ .get всегда асинхронна, поэтому мне нужно будет использовать $ .ajax, например:

var msg = $.ajax({type: "GET", url: "my_script.php", async: false}).responseText;

Не думаю, что есть лучший способ сделать это, спасибо за ваши ответы.

6 голосов
/ 29 сентября 2011

Вы всегда можете использовать:

var msg;
$.get("my_script.php", function(text) {
  msg = text;
});

Если по какой-либо причине ответ является текстовым, удаленный сценарий может изменить тип содержимого на что-то вроде JSON, и, таким образом, jQuery пытается проанализировать строку перед выводом вам.

2 голосов
/ 29 сентября 2011

Возвращаемое значение - это просто объект jqXHR, используемый для запроса ajax.Для получения данных ответа необходимо зарегистрировать обратный звонок.

$.get("my_script.php", function(data) {
  var msg = data;
  alert(msg);
});
1 голос
/ 29 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...