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

首頁 > 語言 > JavaScript > 正文

在Js頁面通過POST傳遞參數跳轉到新頁面詳解

2024-05-06 15:12:17
字體:
來源:轉載
供稿:網友

場景

最近在工作中遇到一個需求,有個頁面 a.vm,對 ajax 請求的結果進行判斷后,獲取結果里面的數據傳遞給一個 URL(b.htm),跳轉到新的頁面 b.htm。

遇到的問題

因為一開始是 GET 請求,所以當傳遞的數據過大的時候,會報錯 nginx 414 request-uri too long

客戶端請求頭緩沖區大小,如果請求頭總長度大于小于128k,則使用此緩沖區

client_header_buffer_size 128k;

請求頭總長度大于128k時使用 large_client_header_buffers 設置的緩存區

large_client_header_buffers 指令參數4為個數,128k為大小,默認是8k。申請4個128k。

large_client_header_buffers 4 128k;

當http 的URI太長或者request header過大時會報414 Request URI too large400 bad request錯誤

造成這樣的原因

cookie中寫入的值太大造成的,因為header中的其他參數的size一般比較固定,只有cookie可能被寫入較大的數據

請求參數太長,比如發布一個文章正文,用urlencode后,使用get方式傳到后臺

本次的故障原因是由問題 2 引起的。即當請求頭過大時,超過 large_client_header_buffer 時,nginx可能返回 Request URI too large (414) 或者 Bad-request(400) 錯誤。

當Request line的長度大于large_client_header_buffer的一個buffer(128k)時,nginx會返回"Request URI too large" (414)錯誤,對應上面的場景2。

請求頭中最長的一行也要小于large_client_header_buffer,當不是Request line的最長行大于一個buffer(128k)時,會返回"Bad-request"(400)錯誤,對應上面的場景1。

臨時解決辦法

修改 nginx 參數

主要是調大以下參數值:

client_header_buffer_size 512k;large_client_header_buffers 4 512k;

但是調大這個值會出現一個問題,當我的服務器騰挪數據量比較大的時候,可能又要修改這樣不是一個辦法,最終的解決辦法就是由 GET 請求方式修改為 POST 請求方式

最終解決辦法

使用 jquery.redirect.js 框架來處理這樣的情況,主要使用到的函數是 $.redirect

代碼如下:

 $http({    method: "POST",    dataType: "json",    contentType: 'application/json',    url: url,    data: data,   }).success(function (data) {    if (data.success) {     crId = data.data;     $scope.errMsg = "";     var url = "/xx.htm?id=" + id;     window.location.href = url    } else {     $scope.errMsg = data.message;     $scope.isDisabled = false;     $scope.errorCode = data.code;     $scope.trv.physics = data.data;     if(data.statusCode === -224){      var vms = data.data;      console.log("vms: " + vms);      $.redirect('/b.htm', {'vms': vms.toString(), 'resource': trv.resource, 'errMsg': $scope.errMsg});     }    }   }).error(function (data) {    alert(data);    $scope.isDisabled = false;   });            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 泰和县| 阿拉善右旗| 合川市| 神池县| 曲阜市| 江北区| 永修县| 华池县| 万安县| 昌平区| 德昌县| 扎鲁特旗| 阿拉善右旗| 玉林市| 浠水县| 万荣县| 工布江达县| 紫金县| 库尔勒市| 江油市| 瑞丽市| 津市市| 江津市| 宁远县| 昌邑市| 武川县| 安陆市| 墨玉县| 青冈县| 远安县| 莫力| 南乐县| 峡江县| 牡丹江市| 玉田县| 仁寿县| 泽州县| 察隅县| 大埔县| 庆阳市| 左云县|