将一个整数从AJAX传递给Rest

时间:2016-12-15 19:51:59

标签: javascript ajax rest

我有一张通过ajax调用发送到休息服务的图片。我还需要发送三个整数值来标识图像的形式。这一切都有效,除非标识符为空。在其余方面,空值将转换为String。但是,我在java服务上设置的数据类型是Integers,因此服务调用会爆炸。

可以只是将Java中的Rest输入参数更改为Strings,然后将它们转换为Java端的Integers,但这似乎是一个黑客攻击。

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,
});

1 个答案:

答案 0 :(得分:1)

您可以在通话前使用此条件发送来阻止呼叫:

typeof formId !== 'number'

或检查它是否为null并将其转换为零并避免在那里进行调用:

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

如果有表单,您可以要求一个数字并将该值默认为零。请注意,这仅适用于支持html5的浏览器:

<input type="number" min="0" name="formId" />