我的文件夹结构如下所示。这两个文件夹都包含在Area文件夹中。
我正在尝试从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);
}
答案 0 :(得分:1)
为什么您的网址是/ Email / Email / statusChangeEmail?它应该是/ Email / statusChangeEmail。
/ Email表示EmailController,/ statusChangeEmail表示控制器操作statusChangeEmail。