jQuery期望在AJAX调用上输入文本的数字

问题描述 投票:0回答:1

我试图用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) {}

enter image description here

javascript jquery ajax nan
1个回答
0
投票

UPDATE

我弄清楚我的代码存在什么问题。在服务器上运行的代码有错误,因为我在某个时候更新了输入名称,因此无法正确计算计算结果。控制台中的错误/异常来自成功响应,然后尝试将从服务器返回的输入值更新为NaN。

© www.soinside.com 2019 - 2024. All rights reserved.