jquery ajax post 回调函数不执行的原因分析和解决办法
2012-01-04 19:55
375 查看
今天在写一个检查用户名的功能时,使用的是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}这样才可以。
先来看看我的代码:
前台代码:
<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 post 回调函数不执行的原因分析和解决办法
- $.post函数请求成功但是不执行回调函数的问题解决办法收集与整理
- MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
- MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
- 后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
- Jquery Ajax请求文件下载操作失败的原因分析及解决办法(转载)
- Jquery Ajax请求文件下载操作失败的原因分析及解决办法
- Java Web开发中,自定义过滤器被执行两次的原因分析及解决办法
- 后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
- .net调试WEB程序时页面无法显示的原因分析及解决办法
- $.post 回调函数callback不执行的解决
- django中使用jquery ajax post数据出现403错误的解决办法(两种方法)
- Oracle执行出现正在提交的原因及解决办法
- Android实现类似IOS右滑返回的效果(原因分析及解决办法)
- java:Could not find the main class.Program will exit 原因分析-新解决办法
- onload js函数不执行的原因分析及解决方法
- MySQL server has gone away报错原因分析及解决办法
- Cocos2D v3.4.9粒子效果不能显示的原因分析及解决办法
- Fatal error: Cannot redeclare class 原因分析与解决办法
- 织梦后台卡死的原因分析及开关功能解决办法