事情是这样的,我有一个 jquery 点击事件处理程序,它在点击时调用一个帖子。
它期望的类型($.post()的第四个参数)是“json”。然而,关于 服务器端;该帖子有两种响应:json 或 html 响应。问题是,如果它返回 html,则不会调用回调函数(因为 $.post 需要 json?)。
我对此有何 react ?我想要的东西是,如果服务器端脚本返回 json,则执行回调,否则执行另一个。那可能吗?我可以使用 $.post 检查响应类型吗?
最佳答案
您很可能想要使用通用 jquery.ajax功能。特别是 dataType: 'text' 属性应该允许您以任何适合您的方法解析返回值。您还可以使用parseJSON功能
$.ajax({
url: 'url',
type: 'post'
dataType: 'text',
success: function(text) {
if (json) {
var obj = $.parseJSON(text);
} else {
var html = $(text);
}
}
});
关于javascript - jQuery $.post - 如果 $.post 失败或者响应不是您期望的类型,如何调用回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2339353/