JQuery Ajax call return '[object XMLDocument]'
У меня есть HTML-страница, которую я хочу заполнить с помощью Ajax. Я скопировал код с других страниц (все это в PHP, и я не уверен, что это важно), и он возвращает [object XMLDocument]
. На других страницах (PHP) я получаю все, что я распечатывал в рутине.
Вот что у меня есть:
index.html -
<html> ... </html>
<script>
$(document).ready(function() {
getSplashHelpVideos();
});
</script>
В файле javascript -
function getSplashHelpVideos() {
$.ajax({
url: "include/get_help_videos.php",
type: "POST",
success: function(data) {
alert(data);
}
});
return;
}
В get_help_videos.php(очевидно, это всего лишь временный код, чтобы попытаться выяснить, как это работает) -
<?php
session_start();
echo 'OK';
return;
?>
Итак, я ожидал (и хотел), чтобы он открыл предупреждение "ОК", что и будет делать в моих других подпрограммах, но вместо этого появляется [object XMLDocument]
.
Я что-то делаю неправильно? Или лучше жить с ним и разобрать XMLDocument
?
Ответы
Ответ 1
Вам нужно включить параметр типа данных в ваш вызов AJAX, чтобы указать, что вы просто ожидаете текстового ответа:
function getSplashHelpVideos() {
$.ajax({
url: "include/get_help_videos.php",
type: "POST",
dataType: "text",
success: function(data) {
alert(data);
}
});
return;
}
Ответ 2
Вы можете попробовать код ниже. Я только что протестировал его на Firefox 15.0.1, и он работает хорошо:
$.post("include/get_help_videos.php", function(data)
{
alert(data);
}, "text");
Ответ 3
попробуйте сначала установить тип содержимого ответ на текст /html , затем скажите эхо "ok" следующим образом:
header('Content-type: text/html');
У меня была та же проблема здесь, и она решалась именно так, поскольку, когда мы не указываем тип содержимого ответа, каждый браузер обрабатывает ответ в другом формате как и так.
Ответ 4
измените свой тип ответа на html/text
в файле get_help_videos.php
Ответ 5
Вам просто нужно указать тип данных (которые направляют браузер, на который вы ожидаете ответа только в указанном формате, например: "текст" ).
В этом случае я тестировал это в firefox и mozilla.and он работает..:)
Проверьте ответ в firefox/Mozilla - вы также можете проверить предстоящий ответ после запроса ajax... выполните следующие шаги:
нажмите F12 в firefox/mozilla → перейдите на вкладку "Консоль" → перейдите на вкладку "Ответ".:)
function GetEmployeeListWS_REST() {
jQuery.ajax({
url: "http://localhost:8080/RESTDemo/rest/hello/helloXML",
async: false,
type: 'GET',
contentType: "text/xml; charset=utf-8",
dataType: "text",
crossDomain: true,
//data: packet,
error: function (xhr, textStatus, errorThrown) { alert(xhr + ' ' + textStatus + '' + errorThrown); },
success: function (response, status, xmlData) {
$("#EmployeeDetailsWs").text(response);
}
});
} // ends : fun()