JQuery Ajax 发送请求成功后却接收不到任何响应数据问题
问题描述
使用 JQuery Ajax 向后端服务器发送请求,服务器也收到请求返回了响应数据,但是 Ajax 却收不到任何响应数据。
举例如下:
$.ajax({
type: "post",
url: "test",
data: {name: "张三"},
dataType: "json",
success: function(data) {
alert("正确");
},
error: function(err) {
alert("错误");
}
});
以上代码中,服务器正常响应 Ajax 请求,但客户端中正确和错误窗口都没有弹出。
原因分析
问题原因在于服务器返回的响应数据其实并非 json 格式,而在 ajax 中指定了 dataType: "json", 导致无法解析响应的数据。
为何会如此呢?
原因如果服务器响应的数据本身就是一个 Stgring 字符串类型,就不会解析为 json 串,而是直接就是 text 文本类型发送给客户端。
解决方法
将 json 改为 text,修改后的代码如下:
$.ajax({
type: "post",
url: "test",
data: {name: "张三"},
dataType: "text",
success: function(data) {
alert("正确");
},
error: function(err) {
alert("错误");
}
});
所以,这里 dataType:"text" 就是将响应数据设置为 text 类型。
JQuery Ajax 发送请求成功后却接收不到任何响应数据问题的更多相关文章
- ajax方法请求成功后,没有执行success的方法
$.ajax( { type: "POST", url: "AddSupplier.aspx", dataType:"text", data ...
- 【jquery】ajax 请求成功后新开窗口被拦截解决方法
问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以 ...
- ajax请求成功后新开窗口window.open()被拦截解决方法
ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢 问题: 前面开发项目时碰到一个问题,ajax 异步请求 ...
- ajax请求成功后新窗口window.open()被拦截的解决方法
ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限 ...
- 使用jQuery解析JSON数据(由ajax发送请求到php文件处理数据返回json数据,然后解析json写入html中呈现)
在上一篇的Struts2之ajax初析中,我们得到了comments对象的JSON数据,在本篇中,我们将使用jQuery进行数据解析. 我们先以解析上例中的comments对象的JSON数据为例,然后 ...
- ajax请求成功后打开新窗口地址
转自:http://www.cnblogs.com/linjiqin/p/3148205.html jQuery.ajax({ "type":"post&qu ...
- ajax请求成功后打开新开窗口(window.open())被拦截的解决方法
问题:今天在做项目时需要在ajax请求成功后打开一个新的窗口,此时遇到浏览拦截了新窗口的问题,尝试在ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('clic ...
- Ajax - 发送请求原理
1,什么是ajax? Asynchronous JavaScript and XML(当然现在xml已经由json代替): 主要是用于前后台的交互(表单提交已经被废弃): 使用场景:前台获取数据.表单 ...
- ajax对象。同步与异步及ajax发送请求
ajax对象的属性.方法 属性 readyState: Ajax状态码 * 0:表示对象已建立,但未初始化,只是 new 成功获取了对象,但是未调用open方法 1:表示对象已初始化,但未发送,调用了 ...
随机推荐
- Spring Security OAuth2 实现登录互踢
背景说明 一个账号只能一处登录,类似的业务需求在现有后管类系统是非常常见的. 但在原有的 spring security oauth2 令牌方法流程(所谓的登录)无法满足类似的需求. 我们先来看 To ...
- 如何查看spark版本
使用spark-shell命令进入shell模式
- (九)Docker-PS 详解
1. 作用 查看 docker 容器 2. 基本语法 docker ps [OPTIONS] OPTIONS说明: -a :显示所有的容器,包括未运行的. -f :根据条件过滤显示的内容. --for ...
- selenium启动IE失败,并报错:Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones
1.selenium去启动IE时,报错: Started InternetExplorerDriver server (32-bit)2.50.0.0Listening on port 24641On ...
- Day05_17_面向对象编程
Java面向对象 面向对象编程 和 面向过程编程 举个例子: 用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭. 面向过程编程: 主要关注事物因果关系的实现,面向过程就是 ...
- 利用Apache部署静态网站(一)
Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩充, ...
- xlrd、xlwt 库
1. 安装与介绍 2. xlrd 3. xlwt 1. 安装与介绍 xlrd 模块实现对excel文件内容读取,xlwt 模块实现对excel文件的写入. 模块安装: pip install xlrd ...
- kubernetes集群centos7初始化
设置系统主机名以及 Host 文件的相互解析 hostnamectl set-hostname k8s-master01 安装依赖包 yum -y install wget net-tools nfs ...
- HUAWEI防火墙双出口据链路带宽负载分担
组网图形 组网需求 通过配置根据链路带宽负载分担,使流量按照带宽的比例分担到各链路上,保证带宽资源得到充分利用. 如图1所示,企业分别从ISP1和ISP2租用了一条链路,ISP1链路的带宽为100M, ...
- .NET 中的 Worker Service 入门介绍
翻译自 Steve Gordon 2020年3月30日的文章 <WHAT ARE .NET WORKER SERVICES?> [1] 随着 .NET Core 3.0 的发布,ASP.N ...