Javascript 根据返回的数据更改Ajax查询数据类型
我有一个ajax方法,它调用一个Javascript 根据返回的数据更改Ajax查询数据类型,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax方法,它调用一个 $.ajax({ url: "/DeviceUsage/Return", type: "POST", contentType: "application/json; charset=utf-8", dataType: 'HTML', data: JSON.stri
$.ajax({
url: "/DeviceUsage/Return",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: 'HTML',
data: JSON.stringify({ dev: { DeviceInstanceId: $('#DeviceInstanceId').val(), UserId: "1", StorageId: $('#StorageId').val() } }),
error: function (data) {
alert("wystąpił nieokreślony błąd " + data);
},
success: function (data) {
if (data.ok) {
$("#Modal").modal('hide');
window.location = data.newurl;
}
else {
$('.modal-body').html(data);
}
}
})
根据方法是否成功结束,该方法可以返回HTML数据或JSON数据
return PartialView(dev) <=== Html
return Json(new { ok = true, newurl = Url.Action("MyDevices") });;<=== JSON
returnpartialview(dev)当jQuery试图为您确定正确的格式时,尝试不提供数据类型
数据类型(默认值:智能猜测(xml、json、脚本或html))
如果这不起作用,请使用html(纯文本),只需检查响应数据中的一些关键字,并根据此使用数据。比如,
if (data.indexOf("html") > -1) {
$('.modal-body').html(data);
}
else {
var objData = JSON.parse(data);
window.location = objData.newurl;
}
嗨-在请求发出之前,你有没有办法从前端知道它是什么?我认为不可能。除非您改为使用XhtPrequest或seomthing之类的其他东西,否则可能存在这样的可能性。。但对于$.ajax,我认为不是..在请求之前,现在没有办法做到这一点。该方法检查用户数据输入并确定其是否有效