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的caller,callee,call,apply
Apr 28 Javascript
纯js实现背景图片切换效果代码
Nov 14 Javascript
3种不同方式的焦点图轮播特效分享
Oct 30 Javascript
超级给力的JavaScript的React框架入门教程
Jul 02 Javascript
Node.js实现文件上传
Jul 05 Javascript
探讨跨域请求资源的几种方式(总结)
Dec 02 Javascript
ES6中参数的默认值语法介绍
May 03 Javascript
浅谈Angular2 模块懒加载的方法
Oct 04 Javascript
在Mac下彻底卸载node和npm的方法
May 16 Javascript
你了解vue3.0响应式数据怎么实现吗
Jun 07 Javascript
使用uni-app开发微信小程序的实现
Dec 13 Javascript
使用pkg打包ThinkJS项目的方法步骤
Dec 30 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
sony ICF-2010 拆解与改装
2021/03/02 无线电
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
DIV菜单层实现代码
2010/11/19 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
requireJS使用指南
2016/04/27 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
JavaScript中关于class的调用方法
2017/11/28 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
Python 递归函数详解及实例
2016/12/27 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
公司综合部的成员自我评价分享
2013/11/05 职场文书
中学家长会邀请函
2014/01/17 职场文书
三年级音乐教学反思
2014/01/28 职场文书
给校长的一封建议书
2014/03/12 职场文书
美丽乡村建设实施方案
2014/03/23 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
银行员工考核评语
2014/12/31 职场文书
升职自我推荐信范文
2015/03/25 职场文书
党支部意见范文
2015/06/02 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python
Python基础之hashlib模块详解
2021/05/06 Python
Python实现归一化算法详情
2022/03/18 Python