Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/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 弹簧控制器未命中。转到错误块_Javascript_Jquery_Ajax_Spring Mvc_Spring Security - Fatal编程技术网

Javascript 弹簧控制器未命中。转到错误块

Javascript 弹簧控制器未命中。转到错误块,javascript,jquery,ajax,spring-mvc,spring-security,Javascript,Jquery,Ajax,Spring Mvc,Spring Security,我试图从JSP页面点击控制器。我已经编写了下面的函数,它将在点击特定链接时被调用 功能实现如下图所示: function categorySearchBasedOnParentId(name,id){ $.ajax({ url:"${pageContext.request.contextPath}/customer/get_categoriesByParentId.shx", data: 'id='+id,

我试图从JSP页面点击控制器。我已经编写了下面的函数,它将在点击特定链接时被调用

功能实现如下图所示:

function categorySearchBasedOnParentId(name,id){
        $.ajax({
                url:"${pageContext.request.contextPath}/customer/get_categoriesByParentId.shx",
                data: 'id='+id,
                success:function(data){
                    var obj1 = jQuery.parseJSON(data);
                    var obj2 = obj1.tempCategoriesList;
                    $("#subCategoriesFilter").html(buildSub(obj2));
                },
                error:function(data,status,err){
                    alert("Error occured while searching the categories based on the parent category id");
                }
        });
在上面的函数中,我尝试点击控制器url,控制器返回JSON对象。我将JSON转换为JavaScript对象,并迭代其值以显示在特定的div标记中

我在spring中编写的控制器如下所示

@RequestMapping(value = "/customer/get_categoriesByParentId.shx",method = RequestMethod.GET,    headers="Accept=*/*")
    public @ResponseBody String getCategoriesByParentId(Model model,HttpSession session,
        @ModelAttribute("shoppingCart") ShoppingCart shoppingCart,
        @RequestParam("id") String id) throws IOException{
        shoppingCart.setTempCategoriesList(categoryDao.getAllCategoriesByParentCategoryId(id));
        model.addAttribute("shoppingCart", shoppingCart); 
        String json = JSONUtil.createJsonString(shoppingCart);
        System.out.println(json);
        return json;
    }
我做了以下测试: 1) 该值已正确传递给函数。我已经注意到了。 2) 相同的控制器调用可以在其他项目中完成。它正在返回JSON对象

我在控制台上遇到以下错误

at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)
    at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
    at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)

我几乎在这上面浪费了一整天。我需要帮助。请帮助我。

用@RestController为您的控制器添加注释,然后归还您的购物车。Spring将它转换为JSON


如果您想更改转换器,您必须为此配置Spring,但对于常见的用例,它应该是现成的。

您可以尝试删除@ModelAttribute(“shoppingCart”)shoppingCart shoppingCart作为参数,并查看它是否命中控制器吗?由于您正在执行GET,我想知道@ModelAttribute(“shoppingCart”)没有被传入。@minion:我需要shoppingCart对象的值,所以无法删除它。我必须将其转换为JSON并将其发送到视图,即:;jsp页面。我在控制台org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)上收到以下错误在org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)上,您从哪里获得shoppingCart?有些功能必须通过它。还提供完整的堆栈跟踪。@minion:我正在使用它setter的方法存储shoppingCart的值。像这样,然后将其添加到模型属性,如下所示shoppingCart.setCategories(categoryManager.getCategories(categoryType));shoppingCart.setCategoriesMap(categoryManager.getCategoriesMap(categoryType));model.addAttribute(“shoppingCart”,shoppingCart);你能发布上一个函数吗?如何在SpringFlow中调用前一个函数?