【问题标题】:ASP .NET MVC Ajax Request Internal server Error?ASP .NET MVC Ajax 请求内部服务器错误?
【发布时间】:2023-04-10 00:41:01
【问题描述】:

只是想在asp.net mvc上学习ajax,不知道有什么问题?

我的控制器类方法=>

    [HttpPost]
    public JsonResult Getdata(string batchcode)
    {
        ///var studentid = db.Studentassignbatches.Where(x => x.batch_code == batchcode).Select(x => new Studentassignbatche { UserId = x.UserId }).ToList();
        return Json("hi",JsonRequestBehavior.DenyGet);
    }

以及我的视图和 ajax 请求>

<select onchange="ShowBatchCode()" id="BatchList" class="form-control input-lg">
        <option class="pull-left" value="CCNA Security-1">CCNA Security-1</option>
        <option class="pull-left" value="CCNA Security-2">CCNA Security-2</option>
        <option class="pull-left" value="JNCSP-SEC-1">JNCSP-SEC-1</option>
        <option class="pull-left" value="Oracle Database 12c-1">Oracle Database 12c-1</option>
</select>

和 ajax=>

<script type="text/javascript">
function ShowBatchCode() {
    var batchcode = $('#BatchList').val();
    $.ajax({
        type: 'POST',
        dataType: 'json',
        contentType: 'application/json',
        url: 'Getdata',
        data: { batchcode: batchcode },
        success: function (data) {
            alert(data);
        },
        error: function (result) {
            alert('Something Went Wrong!');
        }
    });
}

它总是向我显示一个警报“出了点问题!”。所以我调试了我的网页,然后我发现了=>

505 内部服务器错误。我不知道如何解决它。并尝试删除 [Httppost] 并尝试使用

 data: batchcode,

但没有什么对我有用。请帮帮我吗?任何人!!!!!

【问题讨论】:

  • contentType: 'application/json', , 需要将数据改成json
  • 数据:JSON.stringify({ batchcode: batchcode })
  • 尝试给控制器名称,如果名称是 YourController 那么 url 应该是 'Your/Getdata'

标签: jquery ajax asp.net-mvc asp.net-mvc-4


【解决方案1】:

您已表明:

contentType: 'application/json',

但是你在这里发送了application/x-www-form-urlencoded

data: { batchcode: batchcode },

所以要么去掉 contentType: 'application/json' 行,要么确保您将 JSON 发送到服务器:

data: JSON.stringify({ batchcode: batchcode }),

【讨论】:

  • 不适合我!
  • 服务器的确切响应正文是什么?您可以从浏览器的开发人员工具栏中看到它。
  • 这不是服务器发送的响应正文。您能否显示服务器返回的确切 HTML 作为对 AJAX 调用的响应?只需单击开发人员工具栏中的 AJAX 调用,然后查看响应选项卡。
  • 希望对您有所帮助?
  • 好的,你得到 404 Not Found。所以看起来你的 url 参数是错误的。尝试为您的控制器操作指定正确的 url。
猜你喜欢
  • 2017-03-30
  • 2015-07-12
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多