使用javascript获取整个html页面作为响应

时间:2013-05-21 13:03:37

标签: javascript jquery ajax

我正在向特定页面发送Ajax帖子,如果一切按预期进行,我可以获取ID作为响应,或者如果出现问题,我可以获得随机html页面和http 400作为响应。在错误的情况下,我想在新窗口中打开整个html页面。我尝试了以下但它不起作用 - 它将变量数据设置为[object Object]而不是预期的html页面。

$.ajax({
    type: "POST",
    url: postUrl,
    data:'message=' + message + '&' + 'title=' + title,
    statusCode: {
            400:function(data) {
                var newWin = open('','windowName','height=300,width=300');
                newWin.document.write(data);
        },
    },
    success: function(json) {
        alert("Post success");
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert("Error connecting to page.");
    }
});

1 个答案:

答案 0 :(得分:3)

指定dataType : 'html'并更改成功函数变量。例如:

$.ajax({
    type: "POST",
    dataType: 'html',
    url: postUrl,
    data:'message=' + message + '&' + 'title=' + title,
    statusCode: {
            400:function(data) {
                var newWin = open('','windowName','height=300,width=300');
                newWin.document.write(data);
        },
    },
    success: function(html) {
        alert("Post success");
        $("#myDiv").html(html);
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert("Error connecting to page.");
    }
});