2015-11-23 57 views
1

當我發送一個整數到後端,我收到它作爲一個字符串,我不明白爲什麼?在FormData中發送整數

var formdata = new FormData(); 

for (var i = 0; i < scope.user.values.length; i++) { 
    formdata.append('values[]', scope.user.values[i]); 
} 

我收到值的字符串,而他們應該在整數

+0

相關規範:[接口表單數據:爲了與其他算法交互,如果條目的值是一個字符串,則條目的類型是「字符串」,否則是「文件」。](https://xhr.spec.whatwg。 org /#interface-formdata) – blgt

回答

4

實際上,你不能發送integers,一切都將字符串formatkey-value對當您使用formData。或者,您可以將它們轉換爲後端所需的datatype

Know more about FormData here

0

與解決方案的嘗試,它的工作

在您的控制器更新你的變量按您的要求

var a = [] 

$scope.b = [1,2,3,4] 

for(var i =0 ; i < $scope.b.length; i++){ a.push(b[i]) } 
2

通過HTML發送到服務器端的所有值作爲字符串收到。你必須將這些數據轉換爲背後的整數,這不應該太難。如果您指定服務器端使用的是哪種語言,也許我們可以讓您知道如何將字符串轉換爲整數。=,或者更好,您可以查看它。

+0

謝謝,你用formdata建議還是有更好的解決方法? – user2099451

+1

這取決於你想發送到服務器的數據,但一般來說formdata是好的。希望有所幫助。 – Y2H