【问题标题】:POST 500 (Internal Server Error)POST 500(内部服务器错误)
【发布时间】:2016-11-05 15:45:11
【问题描述】:

我在我的网站上收到 POST 500(内部服务器错误)。

在我的本地主机上进行测试时,我没有收到任何错误,只有在发布并实时运行网站后,我在尝试调用我的存储过程时才会收到错误。

行号已将我指向我的 Jquery 文件中的以下代码行:

xhr.send( ( s.hasContent && s.data ) || null );

这是失败的 ajax 调用:

$.post("SaveSellGoods", { goodsId: goodsId, price: price, customerId: customerId }, function () {
});

我已经检查过了,所有变量的值都是正确的。

这是它应该移动到的地方,但我认为它永远不会到达这里:

public void SaveSellGoods(string goodsId, decimal price, int customerId)
{
  DBH.GoodsStatusUpdate(int.Parse(goodsId), 3);
  DBH.TransactionInsert(price, 2, int.Parse(Session["employeeId"].ToString()), int.Parse(goodsId), customerId);
}

我在所有浏览器中都收到此错误,但我不确定原因是什么。

有人可以告诉我我做错了什么或遗漏了什么,或者以某种方式获取有关此错误的更多信息。

提前致谢。

【问题讨论】:

  • 您能否查看使用浏览器中的开发人员工具或使用异常记录器(如 ELMAH(如果 .NET))返回的异常?
  • jQuery 不能抛出 Internal Server Error,问题出在服务器端。
  • 此问题发生在服务器级别,我确定它不允许某些请求。您还应该检查服务器日志,看看是哪个请求导致了问题。
  • c#方法上有属性(装饰器)吗?
  • @StevenV 谢谢,我会立即设置它并尝试返回更多信息。

标签: jquery ajax


【解决方案1】:

最后的问题是参数类型不正确。

将解析浮点数添加到我的价格参数解决了这个问题。

parseFloat()

【讨论】:

    【解决方案2】:

    在您的操作方法中删除密钥 [ValidateAntiForgeryToken]。希望它会工作

    【讨论】:

      猜你喜欢
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 2020-10-01
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多