Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有jquery-won';行不通_Jquery_Ajax_Spring Mvc - Fatal编程技术网

带有jquery-won';行不通

带有jquery-won';行不通,jquery,ajax,spring-mvc,Jquery,Ajax,Spring Mvc,我不熟悉jquery和ajax,我一直在尝试根据所选的“bpr”填充“代理”列表。 问题是,当我运行应用程序时,我可以看到数据是从db(sql server)检索的,但“代理”列表仍然为空 这是我的控制器: @Controller public class SgrController { @RequestMapping("/") public String home(Model map) { return "index"; } @RequestMapping(value = "/ajou

我不熟悉jquery和ajax,我一直在尝试根据所选的“bpr”填充“代理”列表。 问题是,当我运行应用程序时,我可以看到数据是从db(sql server)检索的,但“代理”列表仍然为空

这是我的控制器:

@Controller
public class SgrController {
@RequestMapping("/")
public String home(Model map) {
    return "index";
}
@RequestMapping(value = "/ajoutreclamation", method = RequestMethod.GET)
public String ajoutReclamation(Model model) {

    Reclamation reclamation = new Reclamation();
    model.addAttribute("reclamation", reclamation);
    List<Bpr> bprs = metier.listObject("Bpr");
    System.out.print(bprs.size());
    model.addAttribute("bprs", bprs);
   return "ajoutreclamation";

}
@RequestMapping(value = "/agences", method = RequestMethod.GET)
public @ResponseBody
List<Agence> agences(
    @RequestParam(value = "bprr", required = true) int idBpr) {
List<Agence> agences = metier.findAgencesByBpr(idBpr);
System.out.println(agences.size());

return agences;
}
...}
@控制器
公共类SGR控制器{
@请求映射(“/”)
公共字符串主页(模型地图){
返回“索引”;
}
@RequestMapping(value=“/ajoutReconvernance”,method=RequestMethod.GET)
公共字符串(模型){
填海=新填海();
model.addAttribute(“回收”,回收);
列表Bpr=metier.listObject(“Bpr”);
System.out.print(bprs.size());
模型.addAttribute(“bprs”,bprs);
返回“AjoutRecovernance”;
}
@RequestMapping(value=“/agents”,method=RequestMethod.GET)
公共@ResponseBody
名单代理(
@RequestParam(value=“bprr”,required=true)int idBpr){
列表代理=metier.findAgencesByBpr(idBpr);
System.out.println(agents.size());
退货代理;
}
...}
我的jsp页面:

<form:form method="post" action="ajoutreclamation"
                        commandName="reclamation">
<label class="col-md-3 control-label" for="type-combo">BPR</label>
    <div class="col-md-9">
    <select class="form-control" size="1" name="vbpr" id="bprr">
        <option value="0" disabled selected>--Sélectionnez la BPR</option>
            <c:forEach items="${bprs}" var="bprs">
              <option value="${bprs.idBpr}">${bprs.libelleBpr}</option>
            </c:forEach>
    </select>
    </div>
<label class="col-md-3 control-label" for="type-combo">Agence</label>
    <div class="col-md-9">
    <select id="agence-combo" id="agc" name="agence" class="form-control" size="1">
      <option value=""></option>                                                    
    </select>
    </div>
<button type="submit" value="Submit" class="btn btn-sm btn-primary">
    <i class="fa fa-angle-right"></i> Submit </button>
<script
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">   </script>
<c:url var="findAgenceBprURL" value="/agences" />
<script type="text/javascript">
    $(document).ready(function() {
        $('#bprr').change(function() {  
            $.getJSON('${findAgenceBprURL}',
                {bprr : $(this).val(),
                 ajax : 'true'},
            function(agences) {
              var html = '<option value="">Agence</option>';
              var len = agences.length;
             for (var i = 0; i < len; i++) {
                html += '<option value="' + agences[i].idAgence + '">'
                + agences[i].libelleAgence+ '</option>';
                                            }
            html += '</option>';
           $('#agc').html(html);
            });
          });
        });
</script> 

业务流程再造
--Sélectionnez la BPR
${bprs.libelleBpr}
代理
提交
$(文档).ready(函数(){
$('#bprr').change(function(){
$.getJSON(“${findAgenceBprURL}”,
{bprr:$(this.val(),
ajax:'真'},
职能(代理){
var html='Agence';
var len=代理长度;
对于(变量i=0;i
您的“代理”选择控件有两个ID属性

<select id="agence-combo" id="agc" name="agence" class="form-control" size="1">

您在控制台中看到任何错误吗?还可以尝试使用done方法无错误,在控制台中,我可以看到列表代理不是空的。您可以按照@Jon的建议删除选择框中的一个id。因为标签应该只有一个id,而第一个id在这里被优先考虑。你可以试试$('#代理组合').html(html);而不是$('#agc').html(html);您还可以尝试在console.log中检查Generated html的值吗?我删除了其中一个id(代理组合),但它不是故意删除的。我一定是忘记删除它了。我尝试检查html的值,但控制台中没有任何内容。抱歉,我一直在度假。你把它弄好了吗?您能确认您的
$.getJSON
行正在检索数据吗?我跳过了这一部分,只是为了测试目的创建了自己的数组。
<form:form method="post" action="ajoutreclamation" commandName="reclamation">
<label class="col-md-3 control-label" for="type-combo">BPR</label>
<div class="col-md-9">
    <select class="form-control" size="1" name="vbpr" id="bprr">
        <option value="0" disabled selected>--Sélectionnez la BPR</option>
        <c:forEach items="${bprs}" var="bprs">
          <option value="${bprs.idBpr}">${bprs.libelleBpr}</option>
        </c:forEach>
    </select>
</div>
<label class="col-md-3 control-label" for="type-combo">Agence</label>
<div class="col-md-9">
    <select id="agc" name="agence" class="form-control" size="1">
      <option value=""></option>                                                    
    </select>
</div>
<button type="submit" value="Submit" class="btn btn-sm btn-primary"><i class="fa fa-angle-right"></i> Submit </button>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">   </script>
<c:url var="findAgenceBprURL" value="/agences" />
<script type="text/javascript">
    $(document).ready(function() {
        $('#bprr').change(function() {  
                $.getJSON('${findAgenceBprURL}', { bprr : $(this).val(), ajax : 'true' }, function(agences) {
                var html = '<option value="">Agence</option>';
                var len = agences.length;
                for (var i = 0; i < len; i++) {
                    html += '<option value="' + agences[i].idAgence + '">'
                    + agences[i].libelleAgence+ '</option>';
                }
                $('#agc').html(html);
            });
        });
    });
</script>