1

我正在向特定页面发布 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.");
    }
});
4

1 回答 1

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.");
    }
});
于 2013-05-21T13:06:03.967 回答