javascript - Ajax 调用 Spring MVC Controller 错误请求

标签 javascript jquery jsp spring-mvc

Controller中的相关部分:

@RequestMapping(value= "/makeTransfer", method = RequestMethod.POST)
    public @ResponseBody String makeTransfer(Map<String, Object> model, @RequestParam int id,  @RequestParam int sum, @RequestParam int ownerAccount,  @RequestParam int ownerBalance, @RequestParam int receiverAccount){ ...}

Ajax 调用(我试图将所有内容都设为整数)

function transfer(obj, idd, ownerAcc, ownerbal){
    var receiverAccount = parseInt($(obj).parent().find('#recAcc_field').val());
    var sum = parseInt($(obj).parent().find('#sum_field').val());
    var updatedSum = ownerbalance - sum;
    var id = parseInt(idd);
    var ownerAccount = parseInt(ownerAcc);
    var ownerbalance = parseInt(ownerbal);
    alert(ownerbalance);
    $.ajax({
        type : "POST",
        url : "makeTransfer.html",
        data: ({id : id, sum : sum, ownerAccount : ownerAccount, ownerbalance : ownerbalance, receiverAccount : receiverAccount}),
        success : function(data) {
            if (data=="success") {$(obj).closest('tr').find('#accBalance').val(updatedSum)}
            else {alert("error!!")}
        }
    })
}

在我的 JSP 中,我使用 onclick 调用该函数:

Receiving Account: <input id="recAcc_field" type="text"> 
Sum: <input id = "sum_field" type="text" onblur="checkTransfer(this,${account.balance})">
<input id="transferButton" disabled type="submit" value="Transfer" onclick='transfer(this, ${personna.id}, ${account.accountId}, ${account.balance})'>

我对我的 Controller 进行了其他 Ajax 调用,一切都运行良好,对我来说,这段代码看起来与之前编写的代码非常相似,运行得非常好。我的 javascript 函数的每个参数都应该是 Integer,但我还是“parseInt”它们。 .val() 返回什么?整数还是字符串?(我知道 JavaScript 与 Java 不同,但只是想知道)。 我收到的错误是:无法加载资源:服务器响应状态为 400(错误请求) 如果您需要更多信息,请告诉我:)

最佳答案

您应该查看 Chrome 开发者工具,以便可以看到确切的 POST 请求,但乍一看似乎大小写与您的参数不匹配:

@RequestParam int ownerBalance

对比

data: ({id : id, sum : sum, ownerAccount : ownerAccount, ownerbalance : ownerbalance, receiverAccount : receiverAccount}),
enter code here

根据您的要求。您还可以将所有 RequestParam 暂时标记为不需要,看看是否有帮助。

关于javascript - Ajax 调用 Spring MVC Controller 错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38547583/

相关文章:

javascript - 多选复选框ajax表过滤器

jquery - 为可放置的项目添加唯一的 ID

php - 如何使用 $.each 函数接收两位数而不是一位数

jquery - 如何防止事件处理程序出现在 jQuery 中目标元素内的嵌套元素中?

java - 显示在 org. springframework. validation.jsp 对象上设置的错误

javascript - IntersectionObserver 和 ajax 加载内容

javascript - 访问请求的页面大小 - Chrome 扩展

java - 如何将列表中的每个字段数据存储在字符串中?

jsp - 可以jsp :param store a collection?

javascript - 如何在 jQuery 中在 ajax 调用之前禁用链接并在响应后启用链接