java - REST @FormParam 值为空

标签 java rest form-parameter

我的 html 中有以下内容

<form name="myform" method="POST">
    <input type="text" id="products" name="products" />
</form>

function myForm() {
        var url = 'rest/products/details/';
        var formData = $("#myform").serializeArray();
        $.ajax({
        url: url,
        type: 'POST',
        contentType : "application/x-www-form-urlencoded",
        dataType: 'json',
            data: formData,
        success: function (data) {
            //callfunc(data);
        }
    });
}

在Java服务器端我有以下内容

@POST
@Path("/details")
public List<Product> findProducts(@FormParam("products") String products) {
.....
.....

log.info("prod "+products); --> getting null

由于某种原因,即使我从 html 传递了正确的值,产品仍为空。这可能是什么原因?

最佳答案

function myForm() {
        var url = 'rest/products/details/';
        var formData = "products=asasa" ;
        $.ajax({
        url: url,
        type: 'POST',
        contentType : "application/x-www-form-urlencoded",
        dataType: 'json',
            data: formData,
        success: function (data) {
            //callfunc(data);
        }
    });
}

尝试这个并删除@consumes注释。问题出在 jquery 的 $("#myform").serializeArray() 函数中。

关于java - REST @FormParam 值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30860391/

相关文章:

java - jframe配置与mySQL连接关系

java - java 多线程循环法

php - 为什么 setLandingPageType ("billing") 在 Sandbox 中工作但在 PAYPAL PHP REST API SDK WebProfile 的实时版本中不工作

java - 放心地为 HTTPS 请求连接被拒绝

rest - "Why"Backbone 的集合没有保存(PUT/POST)方法 - 是否不稳定?

java - 如何在 Spring Controller 中检索 FORM/POST 参数?

java - GZIP输入流: Read first n bytes from decompressed file

java - 在Eclipse中更改单元测试包名称与相应的生产代码包

web-services - REST服务-在浏览器中测试PUT方法