c# - ASP.NET C# Ajax 调用错误

标签 c# jquery asp.net ajax asp.net-mvc

我直接进入正题。

我正在尝试将值从我的ajax传递到 Controller 并console.log该值。但是,当我尝试 console.log 该值时,它给出错误 500..

这是我的代码:

我已经在 php 上做 ajax 很长时间了..但是,我对 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);
        }
    });

});

Controller :

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

这是错误,但我不知道我的 Controller 出了什么问题。

POST http://localhost:43969/Property/GetCities 500 (Internal Server Error)

最佳答案

如果使用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 的评论中提到的

It does not need to be stringified if contentType: 'application/json; charset=utf-8', is removed (so that it uses the default application/x-www-form-urlencoded; charset=UTF-8').

关于c# - ASP.NET C# Ajax 调用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41581916/

相关文章:

c# - 模拟以更新 ASP.NET 表单例份验证站点中的用户 AD 信息

javascript - 如何将 tr 附加到表格顶部

ajax - POST 无法连接到 Web 服务

asp.net - 使用 Python Mechanize 对 aspx 进行屏幕截图 - Javascript 表单提交

ASP.NET 如何从公共(public)静态方法调用 clientscript

c# - 检查链接是内部链接还是外部链接

c# - XPath 表达式在 HtmlAgilityPack 中不起作用

c# - 一个 DbContext 和多个数据库,EF 代码优先

javascript - 多姆操纵。所有更改同时进行

asp.net - 您无权访问 IIS 配置文件 - Web 应用程序错误