Данные JSON не передаются действию контроллера и выдают внутреннюю ошибку сервера POST 500 - PullRequest
1 голос
/ 30 июня 2019

У меня есть файл с именем pizzas.json.Я прочитал данные из этого файла, но я делаю ajax-вызов jquery, который не передается контроллеру и выдает «Внутренняя ошибка сервера POST 500».Посмотри мой мой код в изображениях:

Просмотр

<script src="https://code.jquery.com/jquery-3.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
    function getToppingsList() {
       $.getJSON("../pizzas.json", passDataToController);
       }


        //var newdata = JSON.parse(data);
        //alert(requestData);
        function passDataToController(json) {
        $.ajax({
            type: "POST",
            url: "@Url.Action("GetToppingsList","ToppingsList")",
            contentType: "application/json",
            data: JSON.stringify(json),
            success: function (data) { alert(data); },
            failure: function (errMsg) {
                alert(errMsg);
            }
        });
    }
</script>
<input type="button" value="Get Toppings List" id="Render JSON" onclick="getToppingsList()" />

Контроллер

public class ToppingsListController : Controller
{                

    // GET: ToppingsList
    public ActionResult Index()
    {
        return View();
    }
    [HttpPost]
    public JsonResult GetToppingsList(List<string> ToppingsListArgument)
    {
        //ar name = "waqas";
        return Json(ToppingsListArgument);
    }
}

Искать в картинке на ошибку: enter image description here

1 Ответ

0 голосов
/ 01 июля 2019

попробуйте проверить, содержат ли JSON какие-либо данные или нет, попробуйте этот код

function passDataToController(json) {
        var ToppingsListArgument = JSON.stringify(json) ; 
   if(ToppingsListArgument !=null && ToppingsListArgument!=undfind)
       {
        $.ajax({
            type: "POST",
            url: "@Url.Action("GetToppingsList","ToppingsList")",
            contentType: "application/json",
            data: ToppingsListArgument,
            success: function (data) { alert(data); },
            failure: function (errMsg) {
                alert(errMsg);
            }
        });
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...