javascript - jQuery $.post - 如果 $.post 失败或者响应不是您期望的类型,如何调用回调函数

标签 javascript jquery post

事情是这样的,我有一个 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/

相关文章:

jquery 类选择器问题 - 单击 Hook 未按预期工作

javascript - 将 API 返回的 JSON 注入(inject) <li> Materialized.css JS

javascript - 使用 Ajax 和 Jquery 的 Codeigniter 分页无限滚动仅提供重复数据

javascript - 发布 - 无法获取错误 - 本地服务器

javascript - Javascript中的自定义方法实现模式

javascript - 在不知道索引的情况下从数组中删除对象

javascript - 自定义域在带有 serverless-next.js 的 aws 中不起作用?

json - 如何在 Qt 中使用 JSON 正文发送 POST 请求

python - 链接回之前访问过的表单

javascript - Angular ngFor 有条件