ajaxがcontrollerを呼び出した後にページがジャンプできない問題
1179 ワード
周知のように、springmvc+spring+hibernateを用いてweb開発を行う場合、1つのcontrollerの方法では、ページ名の文字列を返すだけでページジャンプが実現されるが、ajaxを用いてcontrollerを非同期で呼び出す場合、この方法を用いてページジャンプを行うと機能しないことが分かった.ジャンプしたいページのソースコードが戻り値として返される場合でも、この問題はどのように解決されますか?
ソリューション:
ソリューション:
$.ajax({
url:'/busasst/map/confirm',
data:{datastring:self.datastring},
//dataType:'string',
type:'post',
async : false, // true
success:function(data){
//self.data=data;
//self.doData();
window.location.href="/busasst/user/linestation";
console.log(" ")
},error:function(){
console.log(" ");
return "error";
}
});
実はajaxはcontrollerを呼び出すと自動的に上のコードのsucess関数の位置に戻ります.そのため、controllerで直接ページジャンプを行うと、ターゲットページのソースコードがこのsuccess関数に返されます.正しいページジャンプ方式はsuccess関数で完了するはずです.上のコードのように.window.location.href="/busasst/user/linestation";
// href controller , controller