请大侠帮我看看,为什么success:function(data)方法不执行

1.下面是struts.xml里的action信息
<action name="me" class="meAction">
<result name="success">
<param name="root">users_json</param>
</result>
</action>

2.下面是action类(下面涉及到的get,set方法均齐全)
public String execute() {
System.out.println("*********");
Map<String, Object> map = new HashMap<String, Object>();
if(!"".equals(name_text)) map.put("name", name_text);
map.put("startIndex", 2);
map.put("endIndex", 4);
try {
records = queryUserService.getRecords("getRecordsNum",map);
users = queryUserService.getModels("me",map);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String users_json = JSON.toJSONString(users);
System.out.println(users_json);
return "success";
}

3.通过ajax获得user_json字符串
<html>
<head>
<script type="text/javascript" src="../js/jquery-1.4.3.js"></script>
</head>
<body>
<form action="me" method="post">
用户名:<input type="text" id="name_text" name="name_text" />

密码:<input type="password" id="pwd_text" name="pwd_text" />

<input type="button" value="查询" id="sbt"/>
</form>
</body>
<script type="text/javascript">
$(document).ready(function(){
var name = $('#name_text').val();
var password = $('#pwd_text').val();
$("#sbt").click(function(){
alert("1111");
$.ajax({
type:"post",
url:"me",
data:"name="+name,
cache:false,
dataType:"string",
success:function(data) {
alert("fffff");
},
error:function(e) {
alert(e);
}
});
});
});
</script>
</html>
<!--叙述结束-->
success:function(data)这个方法不执行,执行的是error:function(e),我很纳闷,后台action已经执行了下面图片是后台执行后users_json的信息,信息都有了,后台应该没错的吧?

MMMHUHU
浏览 122回答 2
2回答

慕少森

$.ajax({type:"post",url:"me",data:{name:name},cache:false,success:successFnt,error:errorFnt}function&nbsp;successFnt(){alert("fffff");}function&nbsp;errorFnt(e)&nbsp;{alert(e);}回调函数不能带参数,参数在data对象里传。

慕森王

在success: 上面一行加一个句“async:false”试试。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery