【问题标题】:Post form Ajax to Controller erro 404 C#将表单 Ajax 发布到控制器错误 404 C#
【发布时间】:2017-02-11 15:57:58
【问题描述】:

我在提交简单表单时收到来自控制器的 404 响应。

javascript:

var FunctionName= function () {
var form = $("#formId").serialize();
form.validate();
if (form.valid()) {
    $.ajax({
        url: "/Cliente/Register",
        data: form,
        type: "POST",
        success: function (data) {
            if (data.success) {
                //todo
            }
            else {
                //todo
            }
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            $(".LoginMessage").html("Erro");
            alert("Status: " + textStatus); alert("Error: " + errorThrown);
        }
    });
}

}

控制器:

[HttpPost]
    public JsonResult Register(FormCollection values)
    {...}

当我删除操作过滤器“[httpPost]”时,系统会找到方法,请有人帮助我...

【问题讨论】:

  • 404 未找到错误。这意味着他找不到/Cliente/Register。确保 url 写入正确
  • 我知道 404 是什么。我不明白是因为它发生是因为网址是正确的。
  • 您可以用 [HttpPost] 添加 add (ActionName=Register) 并重试吗?
  • 不起作用......请求“找到”了方法......但是在方法执行时,页面 404 显示。

标签: javascript c# jquery ajax


【解决方案1】:

改变

类型:“POST”,

方法:“POST”,

“方法”是您设置请求类型的属性。由于您尚未指定它,因此它采用默认值“GET”。这就是为什么如果您删除操作过滤器,则找到该方法。

【讨论】:

    【解决方案2】:

    我认为您的网址拼写错误。

    改变这个:

    url: "/Client/Register",
    

    url: "/Client/Register",
    

    “客户”一词的末尾多了一个“e”字母。

    【讨论】:

      猜你喜欢
      • 2018-10-17
      • 2012-12-30
      • 2020-02-09
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      • 2018-11-26
      • 2017-12-05
      • 1970-01-01
      相关资源
      最近更新 更多