如何在Jquery

时间:2016-07-28 13:24:54

标签: javascript jquery ajax asp.net-mvc

我的文件夹结构如下所示。这两个文件夹都包含在Area文件夹中。

Folder structure

我正在尝试从ITRequests/Scripts/Edit.js内的EmailController调用一个函数,但它无法找到它。 .js代码看起来像这样

$(document).on('change', '#StatusId', function (event) {
    event.preventDefault();
    debugger;
    if(( $('#OldStatus').val() ) != ( $('#StatusId').val()) ) //Aka if the user switched the status on submit
    {
        var status_description = [$('#OldStatus').val(), $('#StatusId').val()];
        $.ajax({
            url: "/Email/Email/statusChangeEmail",
            type: 'POST',
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify({ 'request': $('#RequestId').val(), 'status_descriptions': status_description }),
            done: function (data) {
                debugger;
                alert("working");
            }
        })
    }
})

RequestId是页面上正在被正确拾取的隐藏值,同样status_description字段正在采用正确的值并(尝试)将它们传递给函数。 函数EmailController.cs定义为

[HttpPost]
    public ActionResult statusChangeEmail(int request, string[] status_descriptions)
    {
         //stuff happens
         return Json(1);
    }

然而,每次发生这种情况时,我都会收到此错误消息enter image description here

1 个答案:

答案 0 :(得分:1)

为什么您的网址是/ Email / Email / statusChangeEmail?它应该是/ Email / statusChangeEmail。

/ Email表示EmailController,/ statusChangeEmail表示控制器操作statusChangeEmail。