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 相关文章推荐
一个简单的JavaScript数据缓存系统实现代码
Oct 24 Javascript
javascript原始值和对象引用实例分析
Apr 25 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
Jun 17 Javascript
新手快速学习JavaScript免费教程资源汇总
Jun 25 Javascript
基于jQuery实现自动轮播旋转木马特效
Nov 02 Javascript
基于js 本地存储(详解)
Aug 16 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
vue.js做一个简单的编辑菜谱功能
May 08 Javascript
jQuery插件jsonview展示json数据
May 26 jQuery
微信网页授权并获取用户信息的方法
Jul 30 Javascript
JavaScript怎样在删除前添加确认弹出框?
May 27 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
Dec 17 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代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
PHP插入排序实现代码
2013/04/04 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
javascript CSS画图之基础篇
2009/07/29 Javascript
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
Python 流程控制实例代码
2009/09/25 Python
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
python字符串与url编码的转换实例
2018/05/10 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
pygame实现飞机大战
2020/03/11 Python
python将音频进行变速的操作方法
2020/04/08 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
中学生爱国演讲稿
2013/12/31 职场文书
人事专员工作职责
2014/02/22 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
高一地理教学工作总结
2015/08/12 职场文书
小学副班长竞选稿
2015/11/21 职场文书
《秋思》教学反思
2016/02/23 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫