2015-11-23 51 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