欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于SpringBoot在有Ajax時候不跳轉(zhuǎn)的問題解決

 更新時間:2022年05月12日 11:56:36   作者:楊胖胖  
最近在使用Ajax來發(fā)送一些數(shù)據(jù)給后臺一個Controller,但是遇到些問題,所以下面這篇文章主要給大家介紹了關(guān)于SpringBoot在有Ajax時候不跳轉(zhuǎn)問題的解決辦法,需要的朋友可以參考下

問題描述

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

@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之后跳轉(zhuǎn)就會失效
            "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)
    }
})

控制臺返回的信息

解決方法

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

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

然后再在Ajax的success回調(diào)中調(diào)用這個控制器,完成跳轉(zhuǎn)。

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

原因梳理

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

看到?jīng)],控制器把整個main.html的頁面都返回到Ajax里了,也就是說,在使用Ajax的時候,SpringBoot的控制器并沒有進行頁面渲染,而是把目標(biāo)頁面結(jié)構(gòu)返回了,能跳轉(zhuǎn)才怪了。

總結(jié)

到此這篇關(guān)于SpringBoot在有Ajax時候不跳轉(zhuǎn)問題解決的文章就介紹到這了,更多相關(guān)SpringBoot有Ajax不跳轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA中尋找最大的K個數(shù)解法

    JAVA中尋找最大的K個數(shù)解法

    尋找最大的K個數(shù),這個是面試中比較常見的一道題,網(wǎng)上也有很多例子,在這里是比較傳統(tǒng)的解法
    2014-04-04
  • SpringCloud中的Feign服務(wù)間的調(diào)用詳解

    SpringCloud中的Feign服務(wù)間的調(diào)用詳解

    這篇文章主要介紹了SpringCloud中的Feign服務(wù)間的調(diào)用詳解,Feign 是一個聲明式的 REST 客戶端,它能讓 REST 調(diào)用更加簡單,Feign 供了 HTTP 請求的模板,通過編寫簡單的接口和插入注解,就可以定義好 HTTP 請求的參數(shù)、格式、地址等信息,需要的朋友可以參考下
    2024-01-01
  • jdk在centos中安裝配置圖文教程

    jdk在centos中安裝配置圖文教程

    這篇文章主要介紹了jdk在centos中安裝配置圖文教程,文中給出大家jdk下載地址,需要的朋友可以參考下
    2018-04-04
  • Java判斷字符串中是否包含中文方法

    Java判斷字符串中是否包含中文方法

    這篇文章主要介紹了Java判斷字符串中是否包含中文方法,使用Matcher類解決了這個問題,需要的朋友可以參考下
    2014-06-06
  • Java基于享元模式實現(xiàn)五子棋游戲功能實例詳解

    Java基于享元模式實現(xiàn)五子棋游戲功能實例詳解

    這篇文章主要介紹了Java基于享元模式實現(xiàn)五子棋游戲功能,較為詳細的分析了享元模式的概念、功能并結(jié)合實例形式詳細分析了Java使用享元模式實現(xiàn)五子棋游戲的具體操作步驟與相關(guān)注意事項,需要的朋友可以參考下
    2018-05-05
  • bool當(dāng)成函數(shù)參數(shù)錯誤理解

    bool當(dāng)成函數(shù)參數(shù)錯誤理解

    經(jīng)常會在函數(shù)的參數(shù)里使用bool參數(shù),這會大大地降低代碼的可讀性
    2012-11-11
  • SpringBoot JPA 表關(guān)聯(lián)查詢實例

    SpringBoot JPA 表關(guān)聯(lián)查詢實例

    本篇文章主要介紹了SpringBoot JPA 表關(guān)聯(lián)查詢實例,使用JPA原生的findBy語句實現(xiàn),具有一定的參考價值,有興趣的可以了解一下。
    2017-04-04
  • JAVA正則表達式的基本使用教程

    JAVA正則表達式的基本使用教程

    這篇文章主要給大家介紹了關(guān)于JAVA正則表達式的基本使用教程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 在SpringBoot中使用MongoDB完成數(shù)據(jù)存儲

    在SpringBoot中使用MongoDB完成數(shù)據(jù)存儲

    本文主要介紹了在SpringBoot中如惡化使用MongoDB完成數(shù)據(jù)存儲,接下來這篇我們將圍繞MongoDB進行,MongoDB是一個開源的,面向文檔的NoSQL數(shù)據(jù)庫管理系統(tǒng),使用類似JSON的BSON(二進制JSON)格式來存儲數(shù)據(jù),具有靈活的數(shù)據(jù)模型和強大的查詢功能,需要的朋友可以參考下
    2023-11-11
  • idea手動執(zhí)行maven命令的三種實現(xiàn)方式

    idea手動執(zhí)行maven命令的三種實現(xiàn)方式

    這篇文章主要介紹了idea手動執(zhí)行maven命令的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論