91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot在有Ajax時不跳轉問題怎么解決

發布時間:2022-05-13 15:55:42 來源:億速云 閱讀:426 作者:iii 欄目:開發技術

這篇文章主要介紹“SpringBoot在有Ajax時不跳轉問題怎么解決”,在日常操作中,相信很多人在SpringBoot在有Ajax時不跳轉問題怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SpringBoot在有Ajax時不跳轉問題怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

問題描述

最近在嘗試使用SpringBoot做一個后臺管理系統,由于目前還沒有學會VUE,所以前端頁面采用的 thymeleaf+ajax的模式。前兩天在開發登錄頁的時候遇到了一個問題,登錄之后按照正常流程應該是要在控制器里跳轉到首頁的,但是我的登錄頁死活不跳轉。 控制器的邏輯也是沒有問題的

@Controller
class LoginController {
    @Resource
    lateinit var adminService: AdminService
    @RequestMapping("/login",method = [RequestMethod.POST])
    fun login(@RequestParam name:String,@RequestParam password:String):String?{
        val admin=adminService.login(name,password)
        return if (admin==null){
            ""
        }else{
        //一般情況下是可以直接渲染到main.html的,但是添加了Ajax之后跳轉就會失效
            "main"
        }
    }
}

Ajax里邊的邏輯

$.ajax({
    method: 'POST',
    url: 'http://localhost:8080/login',
    data: {
        name: $('[name="username"]').val(),
        password: $('[name="password"]').val()
    },
    success:function (r) {
        console.log(r)
    },
    error:function (result) {
        alert(result)
    }
})

控制臺返回的信息

SpringBoot在有Ajax時不跳轉問題怎么解決

解決方法

這里先給出解決方法,至于原因會在最后說明。解決方法就是在控制器中新增一個mainPage方法,對應到main.html。

@RequestMapping("/main")
fun mainPage():String{
    return "main"
}

然后再在Ajax的success回調中調用這個控制器,完成跳轉。

success:function (r) {
    window.location.href="http://localhost:8080/main" rel="external nofollow" 
},

原因梳理

一開始以為是控制器寫的有問題,然后就各種修改控制器的配置,最后發現無論怎么修改都沒有效果,并且發現如果在瀏覽器中直接調用main.html的控制器路徑也是沒有問題的,這種情況就想到了會不會是Ajax那的問題。為了驗證是不是Ajax的問題,在Ajax回調成功的代碼那里打了個斷點,想看一下后臺返回來的數據到底是個啥

SpringBoot在有Ajax時不跳轉問題怎么解決

看到沒,控制器把整個main.html的頁面都返回到Ajax里了,也就是說,在使用Ajax的時候,SpringBoot的控制器并沒有進行頁面渲染,而是把目標頁面結構返回了,能跳轉才怪了。

到此,關于“SpringBoot在有Ajax時不跳轉問題怎么解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通州区| 潼南县| 榕江县| 普陀区| 荔浦县| 大连市| 新昌县| 潼南县| 舟山市| 林州市| 象州县| 河南省| 巨野县| 苏州市| 滦平县| 准格尔旗| 新巴尔虎右旗| 静海县| 延安市| 阿坝县| 灵山县| 和硕县| 乐业县| 迁安市| 依安县| 梁平县| 腾冲县| 黑山县| 长岭县| 莎车县| 应用必备| 榆林市| 正安县| 玛纳斯县| 辽宁省| 西乌珠穆沁旗| 琼结县| 龙里县| 高要市| 昭平县| 肥城市|