当前位置: 首页 > 面试题库 >

如何将Json对象从Ajax传递到Spring MVC Controller?

秦安宁
2023-03-14
问题内容

我正在使用SpringMVC,我正在将数据从Ajax传递到控制器,但是我在控制器中得到了空值,请检查下面的代码

function searchText()
{
   var sendData = {
    "pName" : "bhanu",
     "lName" :"prasad"
   }
  $.ajax({
type: "POST",
 url: "/gDirecotry/ajax/searchUserProfiles.htm,
    async: true,
    data:sendData,
    success :function(result)
    {
    }
 }

MyControllerCode

         RequestMapping(value="/gDirecotry/ajax/searchUserProfiles.htm",method=RequestMethod.POST)

       public  @ResponseBody String  getSearchUserProfiles(HttpServletRequest request)
       {
         String pName = request.getParameter("pName");
         //here I got null value
       }

任何人都可以帮助我


问题答案:

嘿享受下面的代码。

Javascript AJAX调用

function searchText() {
   var search = {
      "pName" : "bhanu",
      "lName" :"prasad"
   }

   $.ajax({
       type: "POST",
       contentType : 'application/json; charset=utf-8',
       dataType : 'json',
       url: "/gDirecotry/ajax/searchUserProfiles.html",
       data: JSON.stringify(search), // Note it is important
       success :function(result) {
       // do what ever you want with data
       }
   });
}

弹簧控制器代码

RequestMapping(value="/gDirecotry/ajax/searchUserProfiles.htm",method=RequestMethod.POST)

public  @ResponseBody String  getSearchUserProfiles(@RequestBody Search search, HttpServletRequest request) {
    String pName = search.getPName();
    String lName = search.getLName();

    // your logic next
}

以下搜索类如下

class Search {
    private String pName;
    private String lName;

    // getter and setters for above variables
}

该类的优点是,将来可以根据需要向该类添加更多变量。
例如。 如果要实现排序功能。



 类似资料:
  • 我的控制器代码: 但不管用。

  • 问题内容: 我在JavaScript中有以下复杂对象,其中包含过滤器选项 我想传递给ASP.NET MVC4 WebApi控制器GET 使用jQuery ajax调用 ASP.NET控制器方法中的“过滤器”对象为“空”。如果我将其更改为POST,则过滤器对象将正确传递。有没有办法将复杂的对象传递给GET? 我不想将参数分离到URL,因为会有许多参数使效率低下,很难拥有可选参数,并且即使添加了新参数

  • 问题内容: 我有一个复杂的JSON对象,该对象没有任何问题即可发送到View(如下所示),但是当通过AJAX调用将数据序列化回.NET对象时,我无法弄清楚如何将该数据序列化回.NET对象。各个部分的详细信息如下。 我不确定如何将该对象传递给Controller方法,下面有此方法,其中Timelines对象使用Properties镜像上述JS对象。 我正在使用的jQuery是: 我还看到了使用’Js

  • 我正在尝试将对象从AJAX传递给Spring控制器。我基本上尝试了我在SO和大量其他在线资源上遇到的所有解决方案,但都无济于事。我不知道我做错了什么,所以我寻求您的帮助。我正在开发一个简单的网络商店,此时我想做的就是将登录值(用户名和密码)从html文件上的模态表单传递给控制器。这是我的代码:LoginCredentials.java 指数html(删除大部分引导的html部分) 我ndex.ht

  • 我已经创建了liferay portlet,在其中,我只需从Api获取天气数据,并通过ajax获取数据,如下所示,现在我想将这些json数据从ajax传递到portlet页面,并将其保存在portlet文件中。我是liferay的新手,请任何人指导如何做到这一点。 这是portlet文件

  • 问题内容: 我正在尝试使用javascript将查询集从Django传递到模板。 我尝试了不同的方法来解决此问题: 1.普通方法-由于命名法[&gt Object:ID&lt,&gt Object:ID&lt,…],Javascript试图解析对象一团糟 Django视图 模板HTML + JS 2. JSON方法-Django无法将对象列表转换为不可序列化的JSON字符串 Django视图 模板