url傳參過多,致使url過長問題處理

        問題場景:工做中實現數據導出功能,客戶把數據加載處理以後勾選所有,而後進行導出操做。發現出現頁面沒法顯示問題。瀏覽器

        問題分析:開發過程當中因爲開發環境測試數據有限,勾選少數數據導出均可以正常導出。經過詳細測試以後,當勾選的記錄條數超過某個限制以後就會出現請求無效。此時問題大概定位就是和傳遞的參數有關係。post

       因而跟蹤代碼查看原來代碼導出的實現方式,發現若是勾選了數據則是在前臺組裝ids,而後經過url的方式傳遞到後臺。後臺根據ids獲取全部記錄回填到excel中。可是咱們都知道經過url發起請求時,長度是有限制的。具體長度限制和瀏覽器等因素有關。ie支持的長度最長支持2083,其餘瀏覽器支持更長。當長度超過了請求就會無效。測試

      解決辦法:url長度有限制,那麼咱們只能改用其餘方式發請求了,使用最原始的表單提交方式進行。注意:使用表弟提交方式時:注意要把method屬性改爲post方式,由於get方式提交數據時,參數仍是會跟在url後面,從而產生一樣的問題。url

      表單提交實現方式:excel

   document.form[0].action=actionurl;orm

  document.form[0].method.value=export開發

  document.form[0].submit();get

經過這樣去執行action中的export方法,就不會出現因爲數據過多而致使請求無效問題。it

相關文章
相關標籤/搜索