Подтвердить что ты не робот

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?

4b9b3361

Ответ 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()