最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年08月25日 10:54:09   作者:yexiaobai  
這篇文章主要給大家介紹了關于在Js頁面通過POST傳遞參數(shù)跳轉到新頁面的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

場景

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

遇到的問題

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

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

client_header_buffer_size 128k;

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

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

large_client_header_buffers 4 128k;

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

造成這樣的原因

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

請求參數(shù)太長,比如發(fā)布一個文章正文,用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 參數(shù)

主要是調大以下參數(shù)值:

client_header_buffer_size 512k;
large_client_header_buffers 4 512k;

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

最終解決辦法

使用 jquery.redirect.js 框架來處理這樣的情況,主要使用到的函數(shù)是 $.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;
   });

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

最新評論

那曲县| 东光县| 元朗区| 囊谦县| 忻城县| 方山县| 东宁县| 禹州市| 新野县| 南召县| 卓资县| 丹阳市| 永春县| 焦作市| 铜川市| 怀安县| 锡林郭勒盟| 景泰县| 逊克县| 舒兰市| 理塘县| 文登市| 襄樊市| 东宁县| 富平县| 渑池县| 伊宁市| 子洲县| 沁水县| 大理市| 来凤县| 视频| 唐海县| 乌鲁木齐县| 西乌| 白朗县| 泾川县| 睢宁县| 曲松县| 肇源县| 香港|