jQuery Ajax Post 回调函数不执行问题的解决方法


Posted in Javascript onAugust 15, 2016

今天在写一个检查用户名的功能时,使用的是jQuery.post( url, [data], [callback], [type] )这个函数,但是发现其中的回调函数不能执行。

先来看看我的代码:

前台代码:

<script type="text/javascript">
function checkUser() {
var user = $('#<%=txtUser.ClientID %>').val();
$.post('checkUser.ashx', { Action: "Check", Name: user },
function (data) {
alert(data);
},
"json");
}
</script>

后台代码(checkUser.ashx):

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
string action = context.Request["Action"];
string user = context.Request["Name"];
string result = "{result: 0}";
switch (action)
{
case "Check":
if (us.isExists(user))
{
result = "{result: 1}";
}
break;
}
context.Response.Write(result);
}

但是怎么也不执行回调函数中的alert(data)语句,经过单步跟踪,最后发现是返回的Json字符串有问题。

原来jquery中规定返回的JSON字符串的KEY要用引号括起来,如{"result": 1}这样才可以。

下面再看下jquery Ajax 不执行回调函数success的原因

jquery Ajax 不执行回调函数success的原因:

$.ajax({
type: "post",
contentType: "application/json",
url: basePath+"pages/Tongji/disposeAgree.action?cepingitem="+cepingitem+"&userrelation="+userrelation,
//data: {fenshu:8},
dataType: "json",
success: function (result) {
alert("操作成功");
},
error:function(response){
alert("error");
}
});

如上,因为设置了属性dataType:"json",故如果后台返回的不是正确的JSON字符串,那么永远不执行回调函数success,而只执行error函数。要么返回正确的JSON字符串,要么把dataType属性改为text

正确的返回JSON字符串如下:

pw.write("{\"name\":\"zs\"}");
pw.write("{\"name\":"+true+"}");

错误的例子:

pw.write("{‘name':‘zs'}");

以上所述是小编给大家介绍的jQuery Ajax Post 回调函数不执行问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
date.parse在IE和FF中的区别
Jul 29 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
Feb 26 Javascript
jQuery ui插件的使用方法代码实例
May 08 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
Mar 10 Javascript
JavaScript获取表单enctype属性的方法
Apr 02 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
Nov 03 Javascript
Node.js调试技术总结分享
Mar 12 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
Sep 02 Javascript
jQuery实现基本动画效果的方法详解
Sep 06 jQuery
ztree加载完成后显示勾选节点的实现代码
Oct 22 Javascript
Vuex实现数据共享的方法
Dec 20 Javascript
Javascript异步编程async实现过程详解
Apr 02 Javascript
对js eval()函数的一些见解
Aug 15 #Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 #Javascript
js HTML5 Canvas绘制转盘抽奖
Sep 13 #Javascript
jQuery学习笔记之回调函数
Aug 15 #Javascript
纯css下拉菜单 无需js
Aug 15 #Javascript
浅谈JavaScript 中有关时间对象的方法
Aug 15 #Javascript
js轮盘抽奖实例分析
Apr 17 #Javascript
You might like
PHP基础之运算符的使用方法
2013/04/28 PHP
PHP程序员必须清楚的问题汇总
2014/12/18 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
python保存网页图片到本地的方法
2018/07/24 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
python else语句在循环中的运用详解
2020/07/06 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
课堂教学改革实施方案
2014/03/17 职场文书
会计专业求职信
2014/08/10 职场文书
销售人才自我评价范文
2014/09/27 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android