MVC 5 + $Post() 函数在服务器上托管后不起作用
本文关键字:服务器 不起作用 函数 Post MVC | 更新日期: 2023-09-27 18:32:32
我在MVC5中开发了一个应用程序。单击下面的代码视图上的链接将被调用 -
// Code in View File
$.post('../ControllerName/FunctionName', //this is your url
{
id: image,
}, function (data) {
alert("Successfully published");
}
).error(function () {
alert("Failed to publish");
});
//Code in Controller
[HttpPost]
public void ISPPDF(string id)
{}
我面临的问题是,当我通过Visual Studio运行ISPPDF()函数时,它被调用。但是,在服务器上托管我的应用程序后,它似乎没有调用该函数。
我觉得我指定的路径存在一些问题 -
我也尝试使用以下方式指定路径,但没有运气!
/ControllerName/FunctionName
ControllerName/FunctionName
任何帮助将不胜感激。
谢谢
你永远不应该在 MVC 中硬编码 URL。
而是使用 @Url.Action
.
$.post('@Url.Action("FunctionName", "ControllerName")', //this is your url
如果需要发送参数,可以这样操作:
$.post('@Url.Action("FunctionName", "ControllerName", new { id = Model.ID })', //this is your url
我推荐这个有两个重要原因:
1.错误输入URL的可能性很大。这个问题证明了这一点,OP输入了错误的URL。
2. Url.Action
会考虑您的路线。如果您的路由发生变化,Url.Action
将知道如何构建正确的 URL。这样,您就不必通过多个视图来更改所有硬编码值。
试试这个,因为你的发布方法在视图文件中
$.post('../FunctionName',{ id: image,}, function (data) { alert("Successfully publish");}).error(function () {alert("Failed to publish"); });