2016-07-24 32 views
0

我在處理大量數據的項目中有一個步驟表單。爲防止在創建過程中發生錯誤,所有信息都存儲在客戶端,並最終發送到服務器。將大量數據發送到PHP服務器的可能方法

發送到服務器的信息是這樣的:

{ 
name: "project1", 
decription: "lot of text", 
schedule:[{weekDay:1, startHour:"09:00", endHour:"15:00"}, ...] 
tasks:["task1", "task2"... until 20/30], 
files:[{file1}, {file2}, ...], 
services:[{ 
    name: "service1", 
    decription: "lot of text", 
    schedule:[{weekDay:1, startHour:"09:00", endHour:"15:00"}, ...] 
    tasks:["task1", "task2"... until 20/30], 
    files:[{file1}, {file2}, ...], 
    jobs:[{ 
     name: "job1", 
     decription: "lot of text", 
     schedule:[{weekDay:1, startHour:"09:00", endHour:"15:00"}, ...] 
     tasks:["task1", "task2"... until 20/30], 
     files:[{file1}, {file2}, ...] 
     },{ 
      name: "job2", 
     } 
    ] 
    ... 
    },{ 
     name:"service2", 
     ... 
    } 
} 

等等.. 這是一個真正的降低例如,在一個真實的環境將有1個項目約10-15服務,每個人有4-5個工作。

我已經能夠在最後一級處理大約15個項目的所有東西,現在我正試圖預先處理數據,以便在發送之前刪除服務器中不需要的對象,並且我希望能夠發送超過50個項目在最後一級而不會觸發「max_input_variables exceeded xxx」服務器端。但是,在某些情況下,仍然會非常接近極限。

我在考慮改變發送/接收數據的方式,但我不確定我的猜測是否正確。

在一些建議json請求防止輸入變量錯誤之前,請求必須蜜蜂multipart/form-data來發送文件。

說,我的猜測是以下幾點:

  • 安裝的所有數據作爲單個變量JSON和保持分離變量文件(FORMDATA會是什麼樣子{project:{hugeJSON}, files:[file1, file2], services:[{files:[...]}, {files:[...]}] }

  • 發送表單中的部分數據填充到服務器並存儲在某個地方(tmp文件將是我最好的選擇),並且在最後一步中只發送主要表單信息。

  • 可能是一個愚蠢的猜測,但有沒有像發送分塊數據?理想情況下,我想向用戶展示一個加載欄,說「創建項目 - >保存服務nº1 - >生成服務1的文檔...」我認爲我可以實現這一點,使我的服務器端腳本生成大塊的反應,但不確定。

那麼,任何幫助,可以告訴我正確的方式將非常感激。

坦克你提前。

回答

0

完成填充對象後,您應將其串化並將其作爲後置參數發送到服務器。

一旦您在服務器端收到它,您可以解析JSON並繼續工作。

相關問題