Я сделал несколько jQuery в прошлом, но я полностью застрял на этом. Я знаю о плюсах и минусах использования синхронных вызовов ajax, но здесь это потребуется.
Удаленная страница загружена (управляется с помощью firebug), но не отображается.
Что я должен сделать по-другому, чтобы моя функция возвращалась правильно?
function getRemote() {
var remote;
$.ajax({
type: "GET",
url: remote_url,
async: false,
success : function(data) {
remote = data;
}
});
return remote;
}
ajax
jquery
synchronous
промышленные
источник
источник
seems that the statement "[synchronous] will be required" indicates a lack of understanding of JavaScript engines, thus a poorly architected app.
Или очень хорошее понимание: если вы хотите сделать AJAX-вызовonbeforeunload
, использование синхронного запроса на самом деле является рекомендуемым способом (так как окно браузера было бы пропущено до того, как запрос вернется в противном случае). В любом случае он ясно говорит: «Я знаю о плюсах и минусах использования синхронных вызовов ajax» ... Может, просто поверить ему?Ответы:
Когда вы делаете синхронный запрос, это должно быть
Пример - http://api.jquery.com/jQuery.ajax/#example-3
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: Задание для свойства async значения false устарело и в процессе удаления ( ссылка ). Многие браузеры, включая Firefox и Chrome, уже начали печатать предупреждение в консоли, если вы используете это:
Хром:
Fire Fox:
источник
responseText
всегда возвращает строку. Если вы ждете JSON, завернуть$.ajax
сJSON.parse
.<i>
и<b>
теги. Моя рекомендация: продолжайте использовать эти функции, чтобы они не исчезли.Вы используете функцию AJAX неправильно. Так как он синхронный, он вернет данные как:
источник
насколько удален этот URL? это из того же домена? код выглядит хорошо
попробуй это
источник
remote_url
определяется правильно, и вызов AJAX выполняется правильно, как указано (управляется с помощью firebug). Просто нет возврата!источник