我试图用jQuery AJAX调用调用自定义API,但是我收到以下错误:
指定值“NaN”不是有效数字。该值必须与以下正则表达式匹配: - ?(\ d + | \ d +。\ d + | |。\ d +)([eE] [ - +]?\ d +)?
我已经确定问题来自输入,该输入具有基于另一输入的值动态改变的值。设置方式是我有一个选择字段,一旦选择更新问题输入与所选项目的ID。
当我将问题input
更改为type="number"
时,错误消失,但由于type="number"
,字符串值ID(此处是ID '5be25be44d0f9c40d93930ab'
的示例)未设置为输入值,因为它不是数字。输入应该是type="text"
但是当我尝试进行AJAX调用时会发生错误。不确定问题是什么或如何解决它。我已经包含了完整错误的图片。
这是HTML
//This is the 'select' input.
<div class="ui fluid icon dropdown">
<input type="hidden" name="malts[malt1][name]">
<div class="default text">Variety</div>
<div id="fw-malt-list" class="menu fw-malt-list">
<div class="item>...</div>
<div class="item>...</div>
</div>
</div>
//This is the problem input
<input id="fw_malt1_id" type="text" name="malts[malt1][id]">
这是JS
let formData = $('form').serialize();
$.ajax({
type: 'POST',
url: '/p/app/api/maltcalc',
data: formData,
async: true,
success: function(data) {}
UPDATE
我弄清楚我的代码存在什么问题。在服务器上运行的代码有错误,因为我在某个时候更新了输入名称,因此无法正确计算计算结果。控制台中的错误/异常来自成功响应,然后尝试将从服务器返回的输入值更新为NaN。