java - 获取表格:options value in AJAX

标签 java jquery ajax spring jsp

Jsp代码如下:

<form:select id="taxId" path="taxSeqNo" cssClass="defaultText"        <form:options items="${taxListItemsBean.taxList}" itemValue="key" itemLabel="label"/>
</form:select>

其中${taxListItemsBean.taxList}声明为

private List<KeyItemDto> taxList;

在form.java类中。

我想通过ajax将此taxList传递给 Controller ​​。 Ajax 中的代码是:

//..
var options = {
                url: "${pageContext.request.contextPath}/abc.html",
                dataType : 'json',
                contentType:'application/json',
                data: JSON.stringify(taxList ),
                beforeSubmit: function(data,set,options) {
                    if(!confirm("xxx?")) {
                        return false;
                    }
                },

..//

Controller 代码:

@RequestMapping(value = "/abc.html", method = RequestMethod.POST)
    public ModelAndView executeConfirmTaxHttpServletRequest request,
      , @RequestBody List<KeyItemDto> taxList) {

System.out.println("taxList "+taxList);

}

通过上面的代码,我在 Ajax 中的这一行得到了一个 NPE:

data: JSON.stringify(taxList ),

不确定代码有什么问题以及如何将其传递到 Controller 并检索。任何意见表示赞赏。

最佳答案

如果我没记错的话,您想要在ajax中获取下拉选择的值,然后您想要从ajax调用 Controller 。

如果我的理解是正确的,那么您必须使用 JQuery .change() 函数来获取所选值,然后对服务器进行 ajax 调用。

下面的代码给出了清晰的想法,
js代码:

    var taxValues = [];
    $('#taxId option').each(function() { 
                taxValues.push( $(this).attr('value') );
            });
    $('#taxId').change(function(e) {
        //var taxValue = $('#taxId :selected').val(); // gives the dropdown selected value
        $.ajax({
            url: "/getTaxValue",
            data: "taxValues="+ taxValues, //passing the selected value to controller as a parameter
            success: function(result){
               alert(result);
            }
        });     
    });

这里我们将选定的值作为请求参数传递给 Controller ​​,在 Controller 中您将使用@RequestParam注释接收该值。

Controller 代码:

    @RequestMapping(value="/getTaxValue", method=RequestMethod.GET)
    public String getTaxValue(@RequestParam("taxValues") String[] taxValues) {

        return taxValues;
    }

关于java - 获取表格:options value in AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28666949/

相关文章:

java - 为什么 JNI 调用本地方法比 sun.misc.Unsafe 中的类似方法慢?

java - 如何创建视频的缩略图?

java - 如何在java中使用split从字符串中获取值

javascript - 从 jquery 滚动函数中排除具有特定父级的 "a"标签

php - 如何从mysql表中选择数据

java - JPA ids auto_increment 生成

javascript - 移动菜单打开时 body 的滚动锁定不起作用

Jquery Datepicker 没有关闭选择?

php - 第二次没有AJAX效果

PHP 不插入 SQL 列