Ajax从POST调用中设置内容

时间:2014-05-01 04:50:51

标签: jquery html ajax json post

我需要执行此调用并从我收到的响应中设置页面内容(完整文档)。这条线出了点问题: $(document.documentElement).innerHTML = response.responseText; 可能是什么?

$.ajax({
    type: "POST",
    url: "/sakila",
    data: userAsJson,
    success: function(response){
        $(document.documentElement).innerHTML = response.responseText;
        return response;
    }
});

4 个答案:

答案 0 :(得分:1)

首先,return response无法像这样返回。您可以使用resposne调用将值传递给该函数的函数。 AJAX是异步(异步JavaScript和XML),所以返回不会帮助你。除非您知道自己在做什么,否则也请使用.html()代替Native DOM方法。

您可能不想使用document.documentElement,因为它会返回文档的根元素。 <html>。使用除此之外的HTML元素,并通过jQuery选择它。

function successCallback() {
  $(document.documentElement).html(this.responseText);
}
$.ajax({
    type: "POST",
    url: "/sakila",
    data: userAsJson,
    success: function(response){
        // either do everything in here, or pass the object to a function not both
        $(document.documentElement).html(response.responseText);
        // OR
        successCallback.call(response);
    }
});

答案 1 :(得分:0)

尝试使用jQuery方式:

$(document.documentElement).innerHTML(response.responseText);

答案 2 :(得分:0)

如果您想使用 Jquery

执行此操作
$("#yourcontainer").html(response.responseText);

并使用 Javascript

document.getElementById("#yourcontainer").innerHtml = response.responseText;

Example

答案 3 :(得分:0)

试试这个(如果response是一个json对象) -

$.ajax({
    type: "POST",
    url: "/sakila",
    data: userAsJson,
    success: function(response){
        $(document.documentElement).innerHTML = JSON.stringify(response); //may be response is a json object, so this might help
        //return response; //not needed and does not work either
    }
});