Heim  >  Artikel  >  Web-Frontend  >  js implementiert die Übergabe komplexer JSON-Parameter an den Controller

js implementiert die Übergabe komplexer JSON-Parameter an den Controller

小云云
小云云Original
2018-03-30 09:39:481582Durchsuche

Wenn Spring MVC Sammlungsanforderungsparameter empfängt, muss @RequestBody vor den Sammlungsparametern der Controller-Methode hinzugefügt werden. Der von @RequestBody standardmäßig empfangene Enctype (MIME-Codierung) ist application/json, daher muss der Anforderungsbericht vorhanden sein Wird beim Senden einer POST-Anfrage festgelegt, andernfalls konvertiert Spring MVC diese nicht automatisch in JSON-Daten und analysiert sie dann beim Parsen der Sammlungsanforderungsparameter in die entsprechende Sammlung.

Im Folgenden sind einige relativ komplexe Sammlungen aufgeführt, die die Parameter Listf7e83be87db5cd2d9a8a0b8117b38cd4, List4c8e0c17c3bd7e0081bb17cc795e1984, Lista06c5c2dfccfdea21bf0b155d9343663>, User[] und User (Bean enthält Liste) erhalten Beispiel:

empfängt den Listf7e83be87db5cd2d9a8a0b8117b38cd4-Code der Seite:

2 >Receive List4c8e0c17c3bd7e0081bb17cc795e1984, User[]-Sammlungsparameter:
var idList = new Array(); 
idList.push(“1”); 
idList.push(“2”); 
idList.push(“3”); 
var isBatch = false; 
$.ajax({ 
 type: "POST", 
 url: "<%=path%>/catalog.do?fn=deleteCatalogSchemes", 
 dataType: &#39;json&#39;, 
 data: {"idList":idList,"isBatch":isBatch}, 
 success: function(data){ 
  … 
 }, 
 error: function(res){ 
  … 
 } 
});

1. Benutzer-Entitätsklasse:

@Controller 
@RequestMapping("/catalog.do") 
public class CatalogController { 
 
 @RequestMapping(params = "fn=deleteCatalogSchemes") 
 @ResponseBody 
 public AjaxJson deleteCatalogSchemes(@RequestParam("idList[]") Listf7e83be87db5cd2d9a8a0b8117b38cd4 idList,Boolean isBatch) { 
   … 
 } 
}

2. Seiten-JS-Code:

3 . Controller-Methode:
public class User { 
  private String name; 
 private String pwd; 
 //省略getter/setter 
}

Wenn Sie das User[]-Array erhalten möchten, müssen Sie nur den Parametertyp von saveUsers in @RequestBody User[] userArray ändern.
var userList = new Array(); 
userList.push({name: "李四",pwd: "123"}); 
userList.push({name: "张三",pwd: "332"}); 
$.ajax({ 
 type: "POST", 
 url: "<%=path%>/catalog.do?fn=saveUsers", 
 data: JSON.stringify(userList),//将对象序列化成JSON字符串 
 dataType:"json", 
 contentType : &#39;application/json;charset=utf-8&#39;, //设置请求头信息 
 success: function(data){ 
  … 
 }, 
 error: function(res){ 
  … 
 } 
});

Receive Lista06c5c2dfccfdea21bf0b155d9343663> Sammlungsparameter:

@Controller 
@RequestMapping("/catalog.do") 
public class CatalogController { 
 
 @RequestMapping(params = "fn=saveUsers") 
 @ResponseBody 
 public AjaxJson saveUsers(@RequestBody List<User> userList) { 
  … 
 } 
}
1. Seiten-JS-Code (Benutzerobjekt wird nicht benötigt):

2. Controller-Methode:

Benutzer-Sammlungsparameter (Bean enthält Liste):
var userList = new Array(); 
userList.push({name: "李四",pwd: "123"}); 
userList.push({name: "张三",pwd: "332"}); 
$.ajax({ 
 type: "POST", 
 url: "<%=path%>/catalog.do?fn=saveUsers", 
 data: JSON.stringify(userList),//将对象序列化成JSON字符串 
 dataType:"json", 
 contentType : &#39;application/json;charset=utf-8&#39;, //设置请求头信息 
 success: function(data){ 
  … 
 }, 
 error: function(res){ 
  … 
 } 
});

1. Benutzer-Entitätsklasse:

@Controller 
@RequestMapping("/catalog.do") 
public class CatalogController { 
 
 @RequestMapping(params = "fn=saveUsers") 
 @ResponseBody 
 public AjaxJson saveUsers(@RequestBody Lista06c5c2dfccfdea21bf0b155d9343663> listMap) { 
  … 
 } 
}

2 🎜>

3. Controller-Methode:

public class User { 
 private String name; 
 private String pwd; 
 private List<User> customers;//属于用户的客户群 
 //省略getter/setter 
}

Verwandte Empfehlungen:

var customerArray = new Array(); 
customerArray.push({name: "李四",pwd: "123"}); 
customerArray.push({name: "张三",pwd: "332"}); 
var user = {}; 
user.name = "李刚"; 
user.pwd = "888"; 
user. customers = customerArray; 
$.ajax({ 
 type: "POST", 
 url: "<%=path%>/catalog.do?fn=saveUsers", 
 data: JSON.stringify(user),//将对象序列化成JSON字符串 
 dataType:"json", 
 contentType : &#39;application/json;charset=utf-8&#39;, //设置请求头信息 
 success: function(data){ 
  … 
 }, 
 error: function(res){ 
  … 
 } 
});

ASP.NET zum Abrufen von Controller, URL und Aktion in MVC Erklärung der Methode
@Controller 
@RequestMapping("/catalog.do") 
public class CatalogController { 
 
 @RequestMapping(params = "fn=saveUsers") 
 @ResponseBody 
 public AjaxJson saveUsers(@RequestBody User user) { 
  List<User> customers = user.getCustomers(); 
  … 
 } 
}

Das obige ist der detaillierte Inhalt vonjs implementiert die Übergabe komplexer JSON-Parameter an den Controller. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn