关于$.post()回调函数不执行的问题

Hex_______ 2013-10-23 01:05:42
求助各位js大神,我本来想用js写一个登录验证,但是使用$.post提交到处理后台之后
$.post()里面的回调函数没有被执行

页面js代码如下:

var params=$("form").serialize();
$.post(
"login.action",
params,
function(){
alert("callback");
},
"json"
);

Strut后台的action配置如下:

<package name="doLogin" namespace="/" extends="json-default">
<action name="login" class="LoginAction">
<result type="json">
</result>
</action>
</package>

我遇到的问题是:登录验证的时候正确进入到action处理类的方法之中,但是返回的时候$.post()里面的回调函数没有被执行,这是为什么呢?希望各位大神帮帮忙呀~ 急~
...全文
1154 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
iwaterman 2013-10-25
  • 打赏
  • 举报
回复
楼主可以把ajax方法里面的===== dataType:"json",========去掉试试。
心旷神逸 2013-10-25
  • 打赏
  • 举报
回复
你debug一下看看请求到后台没有,你再在用浏览器的调试工具,看看返回的是什么,你后面写了类型是json格式的,可能返回的内容在解析的时候出错了就不会执行回调函数。
别闹腰不好 2013-10-24
  • 打赏
  • 举报
回复
没执行,说明有错误了
Hex_______ 2013-10-24
  • 打赏
  • 举报
回复
引用 7 楼 licip 的回复:
建议你先单独去测试一下你的那个url,看看对不对,有没有得到你要的数据。
数据已经正确传到action里面去了、action里面有测试输出传入的值
Hex_______ 2013-10-24
  • 打赏
  • 举报
回复
引用 6 楼 showbo 的回复:
你改成$.ajax了没有,只有$.ajax才能配置error

$("#login").click(function(){
			var params=$("#loginForm").serialize();
			$.ajax({
				url:"/TestLib/doLogin/login",
				type:"POST",
				data:params,
				dataType:"json",
				success:function(){alert("callback");},
				error:function(xhr){alert("error");}
			});
		});
licip 2013-10-24
  • 打赏
  • 举报
回复
建议你先单独去测试一下你的那个url,看看对不对,有没有得到你要的数据。
Go 旅城通票 2013-10-24
  • 打赏
  • 举报
回复
你改成$.ajax了没有,只有$.ajax才能配置error
Hex_______ 2013-10-24
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
那就是你前面的代码出问题了,ajax都没有发送,要不肯定不是执行success就是error,用firebug或开发人员工具看看,
ajax发送了请求 已经转入action处理,但是处理完之后 没有回调函数输出
浴火_凤凰 2013-10-24
  • 打赏
  • 举报
回复
先使用抓包工具看一下有没有返回内容吧
Go 旅城通票 2013-10-24
  • 打赏
  • 举报
回复
那就是你前面的代码出问题了,ajax都没有发送,要不肯定不是执行success就是error,用firebug或开发人员工具看看,
Hex_______ 2013-10-24
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
动态页出错了,只有返回200状态才会执行回调,而且指定为json,jq1.4+要返回标准json格式的字符串才会执行回调,用$.ajax,看执行到error输出什么

var params=$("form").serialize();
$.ajax({url:"login.action",type:'POST',dataType:'json',data:params
,success:function(){
  alert("callback");
},error:function(xhr){alert('错误\n'+xhr.response.Text);}})
error似乎也没有被调用、没有错误输出
Go 旅城通票 2013-10-24
  • 打赏
  • 举报
回复
$("#login")这个是button吗还是submit,submit放在表单中会提交表单 用firebug或者chrome开发工具看下发出了请求没,发出返回后不执行success就会error的
Go 旅城通票 2013-10-23
  • 打赏
  • 举报
回复
动态页出错了,只有返回200状态才会执行回调,而且指定为json,jq1.4+要返回标准json格式的字符串才会执行回调,用$.ajax,看执行到error输出什么

var params=$("form").serialize();
$.ajax({url:"login.action",type:'POST',dataType:'json',data:params
,success:function(){
  alert("callback");
},error:function(xhr){alert('错误\n'+xhr.response.Text);}})
tony4geek 2013-10-23
  • 打赏
  • 举报
回复
先改成ajax 然后打印出异常看看。

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧