ajax的post提交參數長度超出限制的解決辦法


1. 前端代碼
 console.log("saving data=", data);  //data 是Json格式的數據,前台向后台傳輸的數據
    $.ajax({
        url: 'TC_Save.php',
        data: { 'data': data},
        type: 'POST',
        dataType: 'json',
        async: true,
        cache: false,
        success: function(data) {
            console.log("saved result=");
            console.log(data);   //問題是當data數據太多時 (大概50kb),后台PHP接受到的數據不全,有的變成了NULL, *此處打印出來的data與上面的data對比可知后台PHP接收到的數據不全。
            if (data['good'] == 1) {
                console.error("Saving data: done!");
            } else {
                console.error( data['error']);
            }
        },

 

        error: function(XMLHttpRequest, textStatus, errorThrown) {
            console.error("X.status=" + XMLHttpRequest.status + ", X.readyState=" + XMLHttpRequest.readyState + ", textStatus=" + textStatus);
        },
    });
 
2. 后端代碼
<?php
error_reporting(0);
header('Content-Type:text/html;charset=utf-8'); 

$data = array();
$data["data"]  = array();
$data["error"] = array();
data['good'] = 0;
$data["data"] = $_POST["data"];
die(json_encode($data));
?>
 
3. 問題是當data數據太多時 (大概50kb),后台PHP接受到的數據不全,有的變成了NULL。
 
4. 解決辦法:
4.1 服務器網站下面的web.config設定,增加紅色的部分

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <httpRuntime requestValidationMode="2.0" maxRequestLength="102400" />
        <httpModules>
        <add name="UploadModule" type="UploadModule,UploadModule" />
        </httpModules>
    </system.web>
    <system.webServer>
        <security>
          <requestFiltering>
              <requestLimits maxAllowedContentLength="2147483647" maxUrl="40960000" maxQueryString="20480000" />
          </requestFiltering>
        </security>
    </system.webServer>
</configuration>

4.2 PHP初始化文件php.ini設定

; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 100000

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 1280M

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM