【问题标题】:Ajax call to call a Controller give 404 error调用控制器的 Ajax 调用给出 404 错误
【发布时间】:2017-05-22 20:04:25
【问题描述】:

我正在使用 Ajax 调用来调用 Controller 方法,但出现此错误: http://localhost:55942/%22GetCalculateAmortizationSchedule%22,%20%22Home%22404(未找到)

这是我的控制器方法:

    [HttpPost]
    public ActionResult GetCalculateAmortizationSchedule()
    {
        var data = ......
        var httpClient = new HttpClient();
        var response = httpClient.PostAsJsonAsync("http://localhost:62815/v1/APR/CalculateAmortizationSchedule", data).Result;
        var returnValue = response.Content.ReadAsAsync<Dictionary<int, AmItem>>().Result;
        return Content(returnValue.ToString());
    }

这是查看代码:

 <form id="MyForm" method="post">
  ....
   <input type="submit" id="test" value="test" />
   </form>

这是 Ajax 代码:

$('#MyForm').submit(function (e) {

        $.ajax({
            url: '@Url.Action("GetCalculateAmortizationSchedule", "Home")',
            type: "POST",
            dataType: "json",
            contentType: "application/json; charset=utf-8",

            contentType: false,
            processData: false,
            success: function (result) {
                alert("success");
                console.log(result.data);
                // here in result you will get your data
            },
            error: function (result) {

            }
        });
        e.preventDefault();
    });

我认为问题在于找不到 url 的这一行:

url: '@Url.Action("GetCalculateAmortizationSchedule", "Home")',

【问题讨论】:

  • 如果您检查页面的来源,您的网址是什么样的?
  • @Kolichikov localhost:55942/…
  • 看起来你有奇怪的编码,尝试使用@Html.Raw(Url.Action("GetCalculateAmortizationSchedule", "Home")

标签: c# jquery ajax model-view-controller


【解决方案1】:

用这个代替 URl

网址:“/home/GetCalculateAmortizationSchedule”

如果您在同一个控制器上,则不需要添加控制器名称

url: '@Url.Action("GetCalculateAmortizationSchedule")',

【讨论】:

    猜你喜欢
    • 2020-11-28
    • 2017-10-02
    • 2017-01-24
    • 2013-06-09
    • 1970-01-01
    • 2019-08-14
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多