国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

ajax跳轉到新的jsp頁面的方法

2024-09-01 08:30:56
字體:
來源:轉載
供稿:網友

ajax可以實現局部刷新頁面,即在不刷新整個頁面的情況下更新頁面的局部信息。

項目中遇到一個問題:在用戶列表也,當點擊某個按鈕時需要去查詢用戶的信息,查詢成功跳轉到用戶詳情界面;查詢失敗,則在原頁面彈出提示信息。

想到兩個解決辦法:

方法一:

點擊按鈕,調用普通方法去查詢用戶信息,查詢成功跳轉到用戶詳情頁面;查詢失敗,重定向調用查詢用戶列表的方法,在查詢用戶列表的方法結束后重新跳轉到用戶列表頁面并彈出提示信息,相當于重新加載了用戶列表頁面。

方法二:

根據需求,不可以重新加載用戶列表頁面。用ajax調用查詢用戶詳情的方法,查詢成功返回用戶Json串,查詢失敗則返回error。

后臺方法:

@RequestMapping(value = "searchUser") public void searchHome(HttpServletResponse response){    String result = null;    ...    查詢用戶的方法    ...     if(查詢成功){       result = JsonUtil.objectToJson(查詢結果對象);//結果對象轉化成Json字符串,在ajax的結果中跳轉到用戶詳情的處理方法       AjaxUtil.ajax(response,result);    }else{//查詢失敗,返回提示信息       AjaxUtil.error(response, "查詢用戶失敗");    }   }

jsp頁面的ajax:

function searchUser(){     $.ajax({        url : "testurl/searchUser",        cache : false,        type : 'POST',        data : {          查詢用的數據,比如用戶ID        },        success : function(data) {          var obj = eval("("+data+")");                      if(obj.success==undefined){//查詢成功,跳轉到詳情頁面             ...             跳轉到用戶詳情處理方法,將date數據傳過去             ...          }else if(!obj.success){//查詢失敗,彈出提示信息             weui.Loading.info(obj.message);          }        },        error : function(error) {          weui.alert("查詢用戶有誤!");        }     });      } 

此處的重點在于如何在ajax的回調函數中調用普通方法,并將之前查詢出的用戶數據傳到普通方法中(上面偽代碼中紅色的部分),繼而跳轉到用戶詳情頁面。

(1)錯誤案例:

function searchUser(){      $.ajax({        url : "testurl/searchUser",        cache : false,        type : 'POST',        data : {           查詢用的數據,比如用戶ID        },        success : function(data) {           var obj = eval("("+data+")");           if(obj.success==undefined){//查詢成功,跳轉到詳情頁面,encodeURIComponent編碼是為了防止url后面傳送的參數中文亂碼,在后臺處理時需要解碼             window.location.href = "testurl/userForm?userJson="+encodeURIComponent(data);           }else if(!obj.success){//查詢失敗,彈出提示信息              weui.Loading.info(obj.message);           }        },        error : function(error) {           weui.alert("查詢用戶有誤!");        }      });       }

錯誤原因:window.location.href方法為get方法,這會使得參數顯示的瀏覽器的url中,不安全,并且數據傳送的長度有限制。 

(2)想到的笨方法:在body中寫隱藏的form表單,在回調函數中把查到的用戶數據復制給form表單中的input,然后提交表單跳轉到普通方法中,這樣就是以post方法提交的數據,并且可以跳轉到新頁面了:

function searchUser(){      $.ajax({        url : "testurl/searchUser",        cache : false,        type : 'POST',        data : {           查詢用的數據,比如用戶ID        },        success : function(data) {           var obj = eval("("+data+")");           if(obj.success==undefined){//查詢成功,跳轉到詳情頁面             $("#userFormJson").val(data);             $("#userForm").attr("action","testurl/userForm");             $("#userForm").submit();           }else if(!obj.success){//查詢失敗,彈出提示信息              weui.Loading.info(obj.message);           }        },        error : function(error) {           weui.alert("查詢用戶有誤!");        }      });       } 

jsp頁面的body

<body>  <form id="userForm" action="" method="post">    <input id="userFormJson" name="userFormJson" type="hidden"/>  </form></body>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 疏勒县| 阿拉善盟| 成都市| 杭州市| 蓬安县| 宜兴市| 盈江县| 纳雍县| 太湖县| 台中县| 尉氏县| 仙游县| 和龙市| 东源县| 常山县| 金昌市| 澄城县| 南丹县| 寻乌县| 武宁县| 彰武县| 阳江市| 同德县| 饶平县| 岢岚县| 四川省| 太白县| 凉城县| 潮安县| 溆浦县| 伊金霍洛旗| 内黄县| 巴东县| 自治县| 称多县| 宿州市| 陇西县| 乌兰县| 台州市| 余江县| 宿迁市|