ASP.NET C# Ajax 调用错误

发布时间: 2017/1/24 3:03:33
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我要直接到了这里。

我想要的值传递从我的 ajax 控制器和 console.log 的值。然而,当我试着去 console.log 的值时它给我 500 错误。

这里是我的代码︰

我做了 ajax 在 php 上很长时间。然而,我还是新的 asp.net C# mvc 所以请熊与我。

AJAX:

$("#Property_ProvinceID").on("change", function () {
    var $this = $(this);
    var province_id = $this.val();
    var $url = "/Property/GetCities";
    alert("get:" + province_id);
    $.ajax({
        url: $url,
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        data:{id: province_id},
        success: function (data) {
            console.log(data);
        }
    });

});

控制器︰

[HttpPost]
public ActionResult GetCities(int id)
{
    return Json(new { success = true });
}

这里是我不知道是什么错误我的控制器虽然错误。

邮政 http://localhost:43969/Property/GetCities 500 (内部服务器错误)

解决方法 1:

如果使用的 contentType: 'application/json; charset=utf-8' 然后使用 JSON.stringify 将转换为 JSON 字符串发送的数据。

$("#Property_ProvinceID").on("change", function () {
    var $this = $(this);
    var province_id = $this.val();
    var $url = "/Property/GetCities";
    alert("get:" + province_id);
    var data  = JSON.stringify({id: province_id});
    $.ajax({
        url: $url,
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        data: data,
        success: function (data) {
            console.log(data);
        }
    });

});

正如在评论中提到由 @StephenMuecke

它不需要将字符串如果 contentType: 'application/json; charset=utf-8' ,删除 (以便它使用默认的 application/x-www-form-urlencoded; charset=UTF-8' )。

官方微信
官方QQ群
31647020