2017-08-30 1 views
-2

Ich arbeite an einer ASP.NET MVC-Anwendung, wo ich eine Controller-Methode über Ajax aufrufen und es ein Array aus dem Controller im Json-Format zurückgeben möchten.ASP.NET MVC Ajax Anruf nicht zurück Json Daten vom Controller

-Controller:

public class HomeController: Controller 
{ 

public JsonResult GetArray() { 

// Code for getting array here 

// Convert array to JSON data 
return Json(new { Items = ArrayName.ToList()}); 

} 
} 

Ajax Call:

$.ajax({ 
     type: 'GET', 
     url: "/Home/GetArray", 
     dataType: "json", 
     success: function(result){ 
      $(".container").append('<p>'+ result +'</p>'); 
     } 
     error: function(){ 
     alert("Data was not fetched properly"); 
     } 
}); 

Jedes Mal, wenn ich diesen Ajax-Aufruf zu machen, wird ein Fehler immer wieder. Ich habe Haltepunkte innerhalb meines Controllers gesetzt und die Werte werden richtig gespeichert, aber ich bin mir nicht sicher, warum es die Erfolgsfunktion nicht erreichen wird.

+0

Genau was war der Fehler? – Jasen

+1

Sie müssen JsonRequestBehavior.AllowGet hinzufügen oder eine POST-Anfrage verwenden. –

Antwort

0

Ich glaube, MVC verweigert GET-Anfragen. Sie müssen Anfragen ausdrücklich erlauben. Enthalten Sie zusammen mit Ihren JSON-Daten JsonRequestBehavior.AllowGet in Ihrer return-Anweisung.

return Json(new { Items = ArrayName.ToList()},JsonRequestBehavior.AllowGet); 
+1

Funktioniert jetzt perfekt, danke! –

0

Ich hoffe, dass es für Sie die volle Hilfe, können Sie diesen Rückgabetyp

return Json (objResult, JsonRequestBehavior.AllowGet) verwenden können;

Verwandte Themen