2016-12-15 4 views
0

У меня есть изображение, которое я отправляю в службу отдыха через вызов ajax. Мне также нужно отправить три целочисленных значения, которые определяют, с какой формой изображение идет. Все это работает, за исключением случаев, когда идентификаторы являются нулевыми. На остальной стороне нулевые значения преобразуются в String. Тем не менее, типы данных, которые я установил в java-службе, - это целые числа, поэтому вызов службы бомбит.Передача целого числа из AJAX для отдыха

formData.append('file', file); 
formData.append('formId', this.props.builder.formId); 
formData.append('formVersionId', this.props.builder.formVersionId); 
formData.append('formIndex', this.props.builder.formIndex); 

$.ajax({ 
    url: URL.BUILDER_URL + '/megaUpload', 
    type: 'POST', 
    data : formData, 
    cache : false, 
    contentType : false, 
    processData : false, 
}); 
+0

Есть ли значение по умолчанию, которое вы хотите отправить, когда идентификаторы равны нулю? Было бы приемлемым опустить поля в форме-данных, если они являются нулевыми? – Bastiaanus

+1

Как выглядит ваш объект formData, когда вы его console.log? –

ответ

1

Вы можете предотвратить вызовы, прежде чем они будут отправлены с помощью этого условного до вашего звонка:

typeof formId !== 'number' 

или проверить, если он является недействительным и преобразовать его в ноль и избежать вызова, а там :

typeof formId === 'undefined' || !formId 

Если есть форма, вы можете потребовать номер и по умолчанию значение равно нулю. Обратите внимание, что это будет работать только в браузерах, поддерживающих html5:

<input type="number" min="0" name="formId" /> 
Смежные вопросы