2015-10-05 109 views
0

我有一個非常大的表單,它可以通過使用javascript來增長大小(用戶可以複製表單的某些部分以添加更多數據。用戶添加了類似1000表單中的字段傳遞給一個寫入xml的php頁面。用ajax發佈數百個字段 - 發佈請求

問題是表單的最後一個字段的某些字段不是寫在xml中,就像1000個元素的限制一樣...

Ajax調用是:

var xmlform = document.getElementById("xmlForm"); 
var postData = $(xmlform).serializeArray(); 
var success = false; 
var file = ""; 
$.ajax({ 
    type: "POST", 
    url: "ajax_xml_download.php", 
    data : postData, 
    dataType: 'html', 
    async : false, 
    complete: function(html){ 
     file = html.responseText; 
     success = true; 
    } 
}); 
$("#ajaxform").submit(); 

if (success){ 
    window.open("downloadxml.php?file=" + file + "&value=" + value); 
} 

AJAX調用始終是一個帥客ss並通過chrome中的開發人員工具,我可以在調用ajax_xml_download.php時看到所有傳遞的字段。但他們中的一些不寫入...

我打印$ _REQUEST數組中的着陸PHP頁面的計數,並且有1011元......希望這能幫助... ...

downloadxml.php是一個允許下載文件的簡單頁面。

+0

目前尚不清楚你下一步要做什麼。如果有1000個字段項目的限制,並且您需要從礦石中收集數據超過1000個,則可以進行循環。收集來自500個字段的數據,對其進行序列化,並使用標籤發佈警告PHP腳本即將發佈更多數據,重複此過程,直到所有數據傳遞完畢。 – Twisty

+1

也可能是'POST'數據的限制。可能要檢查php.ini或'phpinfo()'以查看POST max設置爲的內容。 – Twisty

+0

@Twisty,post_max_size的值是512M ......我沒有設置1000個字段的限制......但只有一些元素不是由xml文件上的目標頁面寫入的 – dvoran

回答

0

找到了解決辦法...有在php.ini設置POST值的限制

max_input_vars 

,默認情況下是1000我在php.ini插入的值(它不是目前),並設置爲2000年,現在形式正在運作。

希望它能幫助別人......