Heim  >  Artikel  >  Web-Frontend  >  Lösen Sie das Problem, dass Spring MVC JSON-Daten an Ajax zurückgibt und einen Parseerror-Fehler meldet

Lösen Sie das Problem, dass Spring MVC JSON-Daten an Ajax zurückgibt und einen Parseerror-Fehler meldet

亚连
亚连Original
2018-05-22 15:28:401778Durchsuche

In letzter Zeit tritt bei der Verwendung von Ajax zum Empfangen von JSON-Daten von Spring MVC immer ein Parseerror-Fehler auf. In diesem Artikel werde ich Ihnen die Lösung für das Parseerror-Problem mitteilen, wenn Spring MVC JSON-Daten an Ajax zurückgibt kann darauf verweisen

In letzter Zeit ist bei der Verwendung von Ajax zum Empfangen von JSON-Daten von Spring MVC immer ein Parseerror-Fehler aufgetreten. Der Fehlerquellcode lautet wie folgt:

Frontend:

$.ajax({ 
      type: 'POST', 
      url: "groupFunctionEdit", 
      dataType: 'json', 
      contentType: "application/json", 
      data: JSON.stringify(functiondata), 
      success: function(data){ 
        alert('数据加载成功'+data.msg); 
      }, 
      error: function(xhr, type){ 
        alert('数据加载失败'); 
        console.log(type); 
      }

Backend-Controller:

@RequestMapping("/groupFunctionEdit")   
  public @ResponseBody Object groupFunctionEdit(@RequestBody List<YyGroupFunction> yyGroupFunctionList) throws JsonProcessingException{ 
     
    return "success"; 
  }

Fragen Sie die Daten ab und finden Sie die folgende Antwort:

Bei Verwendung einfacher Typen, das heißt: Wenn Sie einen Typ wie String zum Empfangen von Daten verwenden, ist die Verwendung der Annotation @RequestBody nicht erforderlich.

Hier müssen Sie Spring MVC verwenden, um das abhängige JSON-JAR-Paket zu verarbeiten: jackson.databind.jar

Lösung:

Das Frontend Es muss nicht geändert werden, es befindet sich im Hintergrund. Ordnen Sie die erforderlichen Daten zu und konvertieren Sie sie in den String-Typ:

@RequestMapping("/groupFunctionEdit")   
  public @ResponseBody Object groupFunctionEdit(@RequestBody List<YyGroupFunction> yyGroupFunctionList) throws JsonProcessingException{ 
     Map<String,Object> map = new HashMap<String,Object>(); 
     map.put("msg", "success"); 
     ObjectMapper mapper = new ObjectMapper(); 
     String msg = mapper.writeValueAsString(map); 
    return msg; 
  }

Die an das Frontend übergebenen Daten werden :

{"msg":"success"}

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

Ajax arbeitet mit Node JS Multer zusammen, um die Datei-Upload-Funktion zu implementieren

Prinzip der domänenübergreifenden Ajax-Funktion Anfrage (Abbildungstext-Tutorial)

jQuery Validator-Methode zur Überprüfung der Ajax-Formularübermittlung und Ajax-Parameterübergabemethode (Grafik-Tutorial)

Das obige ist der detaillierte Inhalt vonLösen Sie das Problem, dass Spring MVC JSON-Daten an Ajax zurückgibt und einen Parseerror-Fehler meldet. 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