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