當我發送一個整數到後端,我收到它作爲一個字符串,我不明白爲什麼?在FormData中發送整數
var formdata = new FormData();
for (var i = 0; i < scope.user.values.length; i++) {
formdata.append('values[]', scope.user.values[i]);
}
我收到值的字符串,而他們應該在整數
當我發送一個整數到後端,我收到它作爲一個字符串,我不明白爲什麼?在FormData中發送整數
var formdata = new FormData();
for (var i = 0; i < scope.user.values.length; i++) {
formdata.append('values[]', scope.user.values[i]);
}
我收到值的字符串,而他們應該在整數
實際上,你不能發送integers
,一切都將字符串format
和key-value
對當您使用formData
。或者,您可以將它們轉換爲後端所需的datatype
。
與解決方案的嘗試,它的工作
在您的控制器更新你的變量按您的要求
var a = []
$scope.b = [1,2,3,4]
for(var i =0 ; i < $scope.b.length; i++){ a.push(b[i]) }
通過HTML發送到服務器端的所有值作爲字符串收到。你必須將這些數據轉換爲背後的整數,這不應該太難。如果您指定服務器端使用的是哪種語言,也許我們可以讓您知道如何將字符串轉換爲整數。=,或者更好,您可以查看它。
謝謝,你用formdata建議還是有更好的解決方法? – user2099451
這取決於你想發送到服務器的數據,但一般來說formdata是好的。希望有所幫助。 – Y2H
相關規範:[接口表單數據:爲了與其他算法交互,如果條目的值是一個字符串,則條目的類型是「字符串」,否則是「文件」。](https://xhr.spec.whatwg。 org /#interface-formdata) – blgt