js jQuery中Ajax請求參數轉義問題__JSP

來源:互聯網
上載者:User

前幾天在工作的時候,在和移動端做介面的時候發現,前端在傳遞參數的時候其中有+或者&時候,伺服器獲得串中+或者&都變成了空格,後台Java程式在解析的時候出錯了!

具體代碼如下:

$(function () {  var isPc = !(window.__detect.android||window.__detect.ios||window.__detect.phone),    moonCakeNums,    moonCakeIdentify= 0,    <span style="color:#ff0000;">token = userCookieControl.getCookie('authtoken'),    APP_ARGS  = token?'&authtoken='+encodeURIComponent(token)+'&from=m':'',</span>    GUAGUA_SCHMA = 'guagua://guagua::5::13:1;18:2', //guagua://guagua::8::21:2  //退出的登入地址    logoutBackUrl = 'http://event.guagua.cn/event/zhongqiu/index.html';  //防止使用者重複提交  function blockAjax(delay){    var $elem = $('body'),      isBlock = $elem.attr('data-block');    if(isBlock) return true;    $elem.attr('data-block', 'block');    setTimeout(function(){      $elem.removeAttr('data-block');    }, delay||1200 );  }  //登入彈框  function popupLoginDlg(){    if(isPc){      //末登入      guaguaLR._run('l');    } else {      window.location.href = GUAGUA_SCHMA;    }  }  function __checkLogin(){    var isLogin = checkLoginStatus();    if(!isLogin) popupLoginDlg();    return !!isLogin;  }  //ios首頁隱藏兌換按鈕  //if(window.__detect.ios) $('#J_exchange_btn').hide();  //首頁兌換按鈕  $('#J_exchange_btn').bind('click', function(e) {    e.preventDefault();    if(__checkLogin()) {      window.location.href = './duihuan.html';    }}); 
其中從移動App的頁面cookie獲得使用者的登入資訊(authtoken)中的含有+和&符號,導致服務端獲得authtoken時解析錯誤了,解決的方式就是對authtoken進行URL轉義。代碼如下:

APP_ARGS  = token?'&authtoken='+encodeURIComponent(token)+'&from=m':'',
這樣伺服器就能夠獲得正常的authtoken,並解析得到其中使用者資訊。




相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.