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

Релевантная спецификация: [Interface FormData: Для взаимодействия с другими алгоритмами тип записи является «строкой», если его значение представляет собой строку и «файл» в противном случае.] (Https: //xhr.spec.whatwg. org/# interface-formdata) – blgt

ответ

4

Вы на самом деле не можете отправить integers, все будет в строке format и key-value пара при использовании formData. В качестве альтернативы вы можете преобразовать их в требуемый datatype в backend.

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

Смежные вопросы