Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Javascript Jqgrid既没有从dataUrl调用spring控制器,也没有在buildSelect中显示用于填充下拉列表的警报_Javascript_Jquery_Spring_Spring Mvc_Jqgrid - Fatal编程技术网

Javascript Jqgrid既没有从dataUrl调用spring控制器,也没有在buildSelect中显示用于填充下拉列表的警报

Javascript Jqgrid既没有从dataUrl调用spring控制器,也没有在buildSelect中显示用于填充下拉列表的警报,javascript,jquery,spring,spring-mvc,jqgrid,Javascript,Jquery,Spring,Spring Mvc,Jqgrid,我是这个jquery的新手,所以我不得不从url(/operator/vehicles/getAllVehicles)填充下拉列表。 我关注了这个网站上的很多帖子,甚至很多博客,但都没有找到解决方案。 我有spring controller,它在datatable中提供车辆列表,现在在添加新车辆时,我需要数据库中的车辆模型,因此我创建了一个url(/operator/vehicles/getAllVehiclesModels),用于检索车辆模型列表。此模型列表url由editoptions的数据

我是这个jquery的新手,所以我不得不从url(/operator/vehicles/getAllVehicles)填充下拉列表。 我关注了这个网站上的很多帖子,甚至很多博客,但都没有找到解决方案。 我有spring controller,它在datatable中提供车辆列表,现在在添加新车辆时,我需要数据库中的车辆模型,因此我创建了一个url(/operator/vehicles/getAllVehiclesModels),用于检索车辆模型列表。此模型列表url由editoptions的数据url调用。现在,这个url应该由dataUrl调用,但它不是。我已经打印了一些要检查的文本,但它没有被调用,文本也没有打印

我尝试从控制器返回html元素,如:

@RequestMapping(value="/getAllVehiclesModels", method=RequestMethod.GET)
public @ResponseBody String getAllVehicleModels(){
    System.out.println("Vehicles Model List size: "+vehicleModelService.getAllVehicleModels().size());
    List<VehicleModelVO> vehicleModelVOs =vehicleModelService.getAllVehicleModels();
    StringBuilder sb=new StringBuilder("<select>");
    for(VehicleModelVO vo: vehicleModelVOs){
    sb.append("<option value=" + vo.getId() + ">"+ vo.getName() + "</option>"); 
    }
    sb.append("</select>");
    System.out.println("Final String select: "+sb.toString());

    return sb.toString();
}

在上述情况下,我的控制器以如下形式返回值:“1:1;2:2;3:3”
url:”,
页面加载时打印什么?这一行的url是否正确?当页面加载时,数据表将加载来自operator/vehicles/getAllVehicles的值。对于这一点,有另一个映射的方法,我没有在这里发布,因为它工作正常。问题在于dataUrl:“/operator/vehicles/GetAllVehicleModels”。
  jQuery("#vehicles_list").jqGrid({
      url: '<c:url value="/operator/vehicles/getAllVehicles" />',
      datatype: "json",
      jsonReader: {repeatitems: false, root: function (obj) { return obj; }},

      colNames:['Number Plate', 'Vehicle Model', 'No Of Seats', 'Image'],
      colModel:[
        {name:'numberPlate',index:'numberPlate', width:100, editable:true, edittype:'text', editoptions: {size:25, maxlength:255}},
        {name:'vehicleModelName',
            index:'vehicleModelName', 
            width:100, editable:true, 
            edittype:'select', 
            editoptions:{dataUrl: '/operator/vehicles/getAllVehiclesModels' ,
                buildSelect: function (response) {
                    var data = typeof response === "string" ?
                                   $.parseJSON(response.responseText) : response,
                        s = "<select>";

                    s += '<option value="0">--No Manager--</option>';
                    $.each(data, function () 
                            {
                        s += '<option value=1>1</option>';
                    });
                    return s + "</select>";
                }
            }

        },
        {name:'vehicleModelNoOfSeats', index:'vehicleModelNoOfSeats'},
        {name:'image',formatter: getImage, editable:true, edittype:'file', editoptions: { enctype: "multipart/form-data"} }
      ],

      autowidth: true,
      scrollOffset: 0,
      rowNum:10,
      rowList:[10,20,30], 
      pager: jQuery('#vehicles_list_pager'),
      viewrecords: true,
      gridview: true,
      loadonce: true,
      multiselect: true
  });
 function getSelectValues(){
        $.getJSON("/operator/vehicles/getAllVehiclesModels", null, function(data) {
            alert("hello");
            if (data != null) {
                alert(data);
                return data;
            }
        });
    }