2013-04-26 134 views
0

目前,Fine Uploader使用POST將數據發送到服務器 - 有沒有辦法將它更改爲選項對象中的PUT?我使用的是backbone.js,POST創建了一條新記錄,並且一個PUT觸發了一個更新。Fine Uploader POST vs PUT請求

謝謝。

+0

你可以討論一下你需要PUT vs POST嗎? POST適用於上傳新文件。還有別的你在說什麼嗎? – 2013-04-26 20:23:36

+0

使用backbone.js時。一個POST會向服務器發送信號,表明正在發送的數據應該被創建爲新記錄。但是,更新當前記錄時,backbone.js會發送PUT。我遇到的問題是當我使用Fine Uploader時,它發送一個POST,並且每次創建一個新記錄,而不是更新我正在處理的記錄。我大概可以解決這個問題,但想知道是否有辦法發送PUT而不是POST。謝謝。 – cajund 2013-04-26 20:53:33

+0

我不確定我是否理解「記錄」的含義。你指的是什麼「記錄」?假設分塊未啓用,Fine Uploader會爲每個要上傳的文件發送POST請求。這是合適的方法。你在談論分塊請求嗎? – 2013-04-26 21:02:07

回答

0

POST是上傳請求最合適的方法,主要是因爲文件上傳請求旨在是冪等的。 PUT請求更適合於非冪等(更新)請求。

但是,還有另一個原因,爲什麼PUT不是一個好的選擇:這不適用於IE9和更舊版本。在這些瀏覽器中,由於缺少File API支持,表單將在每個要上傳的文件的隱藏iframe中提交。 <form>上的method屬性只有兩個有效值:GET和POST。所以你不得不處理POST請求,除非你不打算支持IE9和更老的(不太可能)。

我對backbone.js很熟悉,沒有理由不能使用POST請求,特別是在這種情況下。您還沒有提供任何PUT請求在這裏更可取的任何具體原因,所以我只能假設如果有這樣的要求,這可能是由於應用程序中的某些邏輯可能需要重新評估。