gpt4 book ai didi

jquery - Ajax 不适用于 MVC 自定义路由

转载 作者:行者123 更新时间:2023-12-01 01:32:57 25 4
gpt4 key购买 nike

我已经浏览了很多论坛来寻求解决方案,但都是徒劳。我的问题是:

我的家庭 Controller 中有一个名为 CallUser 的操作。我通过 ajax 调用它。

我的网址类似于 mydomain.com/Home/CallUser

我想要像 mydomain.com/CallUser 这样的 URL

我不想让“/Home”访问任何操作

所以我添加了自定义路由

routes.MapRoute(
"Custom",
"{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

Ajax 调用:

function CallUser()
{

var mobNum = $('#userMobileNo').val();
var isValidNumber=validatePhone(mobNum);
if(isValidNumber)
{
$.ajax({
url: "../Home/CallUser",
type: "POST",
data: JSON.stringify({ destinationNumber: mobNum }),
datatype: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
success: function (data) {


},
error: function (err) {

},
failure: function(err)
{

}
});
}
else
{

}
}

在家庭 Controller 中调用博客操作

@Html.ActionLink("Blog", "Blog", "Home")

最佳答案

不要仅仅因为不喜欢 URL 而破坏标准 MVC 模式,只需创建一个 UserController 并具有 Call 操作,以便 URL 变得可读:

"../User/Call"

这适用于如下 URL:

"../User/Hangup"
"../User/GiveAbuse"
"../User/Ignore"
"../User/WhyDontTheyEverCall"

Controller 旨在包含问题域的一部分(在本例中,所有操作都与用户有关),所以为什么要与 MVC 的方式进行斗争呢:)

关于jquery - Ajax 不适用于 MVC 自定义路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30457975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com