如何确定Jquery中ajax调用的响应类型?有时,服务器发送json响应,有时仅发送html以供显示.现在我正在使用

if(response.indexOf('Error'))
  //popup error message
else
 response.username
 response.address

推荐答案

You can try it like:

$.ajax({
  type: "POST",
  url: "your url goes here", 
  data: "data to be sent", 
  success: function(response, status, xhr){ 
    var ct = xhr.getResponseHeader("content-type") || "";
    if (ct.indexOf('html') > -1) {
      //do something
    }
    if (ct.indexOf('json') > -1) {
      // handle json here
    } 
  }
});

基本上,它也在使用indexOf,但似乎更可靠.

Jquery相关问答推荐

javascript 捕获浏览器快捷方式 (ctrl+t/n/w)

在 CSS3 或 jQuery 中将元素的宽度从 0% 设置为 100% 动画,它和它的包装器只需要它们需要的宽度,没有预先设置的宽度

将一个类动态添加到 Bootstrap 的popover容器中

在范围内设置文本

如何使用 jQuery Select 所有复选框?

为什么我们在 jQuery 中使用({ })?

jQuery增量读取AJAX流?

Rails,单击link_to helper后未加载javascript

如何立即启动 setInterval 循环?

jQuery UI 滑块(以编程方式设置)

当ID包含方括号时按ID查找DOM元素?

禁用表单提交上的提交按钮

Javascript中的选定文本事件触发器

jQuery DataTables:延迟搜索直到输入 3 个字符或单击按钮

如果不是 jQuery,Javascript 中的美元符号是什么

覆盖 twitter bootstrap Textbox Glow and Shadows

Isotope 和 Masonry jQuery 插件之间的区别

如何在按键事件后获取 jQuery .val()?

Jquery 日期 Select 器 z-index 问题

jQuery:通过 .attr() 添加两个属性;方法