如何使用ajax从jsp调用控制器方法

如何使用ajax从jsp调用控制器方法,ajax,spring,jsp,spring-mvc,Ajax,Spring,Jsp,Spring Mvc,我使用的是SpringBoot,maven 3.2.5。 我正在按照mvc模式使用spring boot开发简单的maven webapp。 我试图使用ajax从jsp调用控制器方法 这是我的jsp-javascript方法,它调用ajax调用来调用controller方法 函数listextinguser() { 警惕(“listExistingUser”); $.ajax({ 键入:“获取”, url:“${home}/loginController/listExistingUser”,

我使用的是SpringBoot,maven 3.2.5。 我正在按照mvc模式使用spring boot开发简单的maven webapp。 我试图使用ajax从jsp调用控制器方法

这是我的jsp-javascript方法,它调用ajax调用来调用controller方法

函数listextinguser()
{	
警惕(“listExistingUser”);
$.ajax({
键入:“获取”,
url:“${home}/loginController/listExistingUser”,
数据类型:“json”,
跨域:是的,
成功:功能(数据){
//控制台日志(数据);
//警报(data.toString());
校验器(数据);
},
错误:函数(数据){
}
});

}
此示例在我的应用程序中运行:

JSP:

<script type="text/javascript" charset="utf-8">
        function getDesc() {
            $.getJSON("desclist.json", {
                sel1Id : $('select#COMPSNT_NM').val()
            }, function(data) {
                var html = '';
                var len = data.length;
                for (var i = 0; i < len; i++) {
                    html += '<option value="' + data[i] + '">'
                            + data[i] + '</option>';
                }
                $('select#COMPSNT_DS').html(html);
            });
        }

        $(document).ready(function() {
            $('#COMPSNT_NM').change(function() {
                getDesc();
            });
        });
</script>
@RequestMapping(value = "desclist.json")
@ResponseStatus(HttpStatus.OK)
public @ResponseBody List<String> sectionList(@RequestParam(value = "sel1Id", required = true) String sel1Id,
        ModelMap modelMap) {

    List<PARAM_SEQ_2> list = new ArrayList<>();
    List<String> list2 = new ArrayList<>();
    list = paramSeq2Service.findByField2(sel1Id);
    for (PARAM_SEQ_2 prm : list) {
        list2.add(prm.getCOMPSNT_DS());
    }
    return list2;

}

函数getDesc(){
$.getJSON(“desclist.json”{
sel1Id:$('select#COMPSNT_NM').val()
},函数(数据){
var html='';
var len=data.length;
对于(变量i=0;i
控制器:

<script type="text/javascript" charset="utf-8">
        function getDesc() {
            $.getJSON("desclist.json", {
                sel1Id : $('select#COMPSNT_NM').val()
            }, function(data) {
                var html = '';
                var len = data.length;
                for (var i = 0; i < len; i++) {
                    html += '<option value="' + data[i] + '">'
                            + data[i] + '</option>';
                }
                $('select#COMPSNT_DS').html(html);
            });
        }

        $(document).ready(function() {
            $('#COMPSNT_NM').change(function() {
                getDesc();
            });
        });
</script>
@RequestMapping(value = "desclist.json")
@ResponseStatus(HttpStatus.OK)
public @ResponseBody List<String> sectionList(@RequestParam(value = "sel1Id", required = true) String sel1Id,
        ModelMap modelMap) {

    List<PARAM_SEQ_2> list = new ArrayList<>();
    List<String> list2 = new ArrayList<>();
    list = paramSeq2Service.findByField2(sel1Id);
    for (PARAM_SEQ_2 prm : list) {
        list2.add(prm.getCOMPSNT_DS());
    }
    return list2;

}
@RequestMapping(value=“desclist.json”)
@ResponseStatus(HttpStatus.OK)
public@ResponseBody List sectionList(@RequestParam(value=“sel1Id”,required=true)字符串sel1Id,
模型映射(模型映射){
列表=新的ArrayList();
List list2=新的ArrayList();
list=paramSeq2Service.findByField2(sel1Id);
用于(参数顺序2 prm:列表){
列表2.add(prm.getCOMPSNT_DS());
}
返回列表2;
}

此示例在我的应用程序中运行:

JSP:

<script type="text/javascript" charset="utf-8">
        function getDesc() {
            $.getJSON("desclist.json", {
                sel1Id : $('select#COMPSNT_NM').val()
            }, function(data) {
                var html = '';
                var len = data.length;
                for (var i = 0; i < len; i++) {
                    html += '<option value="' + data[i] + '">'
                            + data[i] + '</option>';
                }
                $('select#COMPSNT_DS').html(html);
            });
        }

        $(document).ready(function() {
            $('#COMPSNT_NM').change(function() {
                getDesc();
            });
        });
</script>
@RequestMapping(value = "desclist.json")
@ResponseStatus(HttpStatus.OK)
public @ResponseBody List<String> sectionList(@RequestParam(value = "sel1Id", required = true) String sel1Id,
        ModelMap modelMap) {

    List<PARAM_SEQ_2> list = new ArrayList<>();
    List<String> list2 = new ArrayList<>();
    list = paramSeq2Service.findByField2(sel1Id);
    for (PARAM_SEQ_2 prm : list) {
        list2.add(prm.getCOMPSNT_DS());
    }
    return list2;

}

函数getDesc(){
$.getJSON(“desclist.json”{
sel1Id:$('select#COMPSNT_NM').val()
},函数(数据){
var html='';
var len=data.length;
对于(变量i=0;i
控制器:

<script type="text/javascript" charset="utf-8">
        function getDesc() {
            $.getJSON("desclist.json", {
                sel1Id : $('select#COMPSNT_NM').val()
            }, function(data) {
                var html = '';
                var len = data.length;
                for (var i = 0; i < len; i++) {
                    html += '<option value="' + data[i] + '">'
                            + data[i] + '</option>';
                }
                $('select#COMPSNT_DS').html(html);
            });
        }

        $(document).ready(function() {
            $('#COMPSNT_NM').change(function() {
                getDesc();
            });
        });
</script>
@RequestMapping(value = "desclist.json")
@ResponseStatus(HttpStatus.OK)
public @ResponseBody List<String> sectionList(@RequestParam(value = "sel1Id", required = true) String sel1Id,
        ModelMap modelMap) {

    List<PARAM_SEQ_2> list = new ArrayList<>();
    List<String> list2 = new ArrayList<>();
    list = paramSeq2Service.findByField2(sel1Id);
    for (PARAM_SEQ_2 prm : list) {
        list2.add(prm.getCOMPSNT_DS());
    }
    return list2;

}
@RequestMapping(value=“desclist.json”)
@ResponseStatus(HttpStatus.OK)
public@ResponseBody List sectionList(@RequestParam(value=“sel1Id”,required=true)字符串sel1Id,
模型映射(模型映射){
列表=新的ArrayList();
List list2=新的ArrayList();
list=paramSeq2Service.findByField2(sel1Id);
用于(参数顺序2 prm:列表){
列表2.add(prm.getCOMPSNT_DS());
}
返回列表2;
}

控制程序方法中有一些更改

@RequestMapping(value = "/listExistingUser", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<Object> getAuthentication(){
System.out.println("listExistingUser is called in controller");
return new ResponseEntity<Object>(object,HttpStatus.OK); 
}
如果您想从这样的url获取值
siteName/listextinguser?id=1
然后改用此方法

@RequestMapping(value = "/listExistingUser", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<Object> getAuthentication(@RequestParam("id") int id){}
@RequestMapping(value=“/listextinguser”,method=RequestMethod.GET)
@应答器
公共响应性getAuthentication(@RequestParam(“id”)int-id){}

控制程序方法中有一些更改

@RequestMapping(value = "/listExistingUser", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<Object> getAuthentication(){
System.out.println("listExistingUser is called in controller");
return new ResponseEntity<Object>(object,HttpStatus.OK); 
}
如果您想从这样的url获取值
siteName/listextinguser?id=1
然后改用此方法

@RequestMapping(value = "/listExistingUser", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<Object> getAuthentication(@RequestParam("id") int id){}
@RequestMapping(value=“/listextinguser”,method=RequestMethod.GET)
@应答器
公共响应性getAuthentication(@RequestParam(“id”)int-id){}