ajax请求成功后location.href没有跳转
生活随笔
收集整理的這篇文章主要介紹了
ajax请求成功后location.href没有跳转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
錯誤原因:
注意起來一個情況:ajax+submit+同步—-就是你用ajax請求服務器,而且用的是同步的方式,并且你是通過點擊了type類型為submit的按鈕來觸發這個ajax。
這個時候,首先你點擊了submit,它會提交表單,但是由于你用了ajax的同步操作,submit的提交被阻塞,ajax先執行,這個時候,如果你在ajax的回調函數(如:success)中寫了document.location.href=’xxx.html’,它是執行了,的確是去執行了跳轉的,于是ajax完成了,那接下來就要把剛才的submit提交的請求完成。于是呢又要從xxx.html跳回到剛才那個頁面(無論你submit有沒有提交具體的數據,總之提交了之后如果后臺沒有執行跳轉/重定向,它就要回到原來的頁面。)
即:ajax就是如你所想那樣執行了,也從A頁面跳到了B頁面,但是由于submit這種類型的特殊性,又讓B頁面跳回了A頁面,由于這個ajax執行完再執行submit請求的過程處理的很快,你會感到好像沒有效果,但是你仔細觀察,會發現這個過程頁面會刷新的,其實就是B頁面跳回到A頁面。
解決方案:
解決方法1: 加上這一行
return false;
解決方法2: 頁面的submit改成button
總結
以上是生活随笔為你收集整理的ajax请求成功后location.href没有跳转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java内存泄露分析方案
- 下一篇: Elasticsearch 2.0以上版