$(document).ready(function(){
$("#innerLogin").click(function(){
$.get("Inner/loginPassName.action",{name:$("#innerUsername").val()},function(rand){
var encodeRand = rand.substr(0,rand.length/2);
var encodehrand = rand.substr(rand.length/2,rand.length-rand.length/2);
var realRand = ukey.DecryptAndVerify(encodeRand, encodehrand);
var sendmsg = ukey.Sign(realRand+$("#innerUsername").val()+$.md5($("#password").val()));
$.get("Inner/loginPassNameAndPwd.action",{data:sendmsg});
});
});
});上面是jquery代码,在sendmsg被发送到服务器端,loginPassNameAndPwd.action执行之后依据配置文件:<action name="loginPassNameAndPwd" class="com.sjtu.tgj.inner.action.LoginEncodeAction" method="HandleNameAndPwd" >
<result name="success" type="freeer">
<param name="location">/Inner/Main.ftl</param>
</result>
</action>应该跳转到Main.ftl才对,但是实际情况loginPassNameAndPwd已经返回了success,但是页面却没有跳转。
这是为什么呢? 另外补充一点:用户名和密码的input标签没有放入form中,这是为了防止在服务器传回rand信息的时候,用户名和密码框被清空
action 中 返回的success 大小写没弄错吧?
这样试试看。
我也这么试过,貌似是不能调转,不过我的仍然是写的<result/>,
感觉有点怪,还不如直接作为返回值,在反调函数里获取,然后用js window.location.href=""
在js里手动写跳转吧,window.location.href。不要在action中处理。