2016-12-15 8 views
0

イメージがあります。私はajaxコールを介して休憩サービスに送信しています。私はまた、どのような形式の画像があるかを識別する3つの整数値を送る必要があります。識別子がnullの場合を除き、すべて動作します。残りの部分では、null値はStringに変換されます。しかし、私がjavaサービスで設定したデータ型はIntegersなので、サービス呼び出しが爆発します。AJAXからレストに整数を渡す

JavaのRest入力パラメータをStringに変更してからJava側でIntegersに変換するだけですが、ハックのようです。

typeof formId !== 'number' 

またはそれがnullであるかどうかを確認し、それをゼロに変換し、そこにも電話をかける避ける:

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

識別子がnullの場合に送信するデフォルト値はありますか?それらがnullの場合、フォームデータ内のフィールドを省略することは容認できますか? – Bastiaanus

+1

formDataオブジェクトは、console.logにするとどのように見えますか? –

答えて

1

あなたは彼らがあなたの呼び出しの前にこの条件を使用して送信される前に呼び出しを防ぐことができます:

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

フォームがある場合は、数値を入力して値をゼロにすることができます。これは、html5をサポートするブラウザでのみ機能することに注意してください。

<input type="number" min="0" name="formId" /> 
関連する問題