gpt4 book ai didi

javascript - asp.net MVC 路由 - javascript url 404 错误

转载 作者:行者123 更新时间:2023-11-29 17:28:15 28 4
gpt4 key购买 nike

在本地开发我的应用程序 (asp.net mvc3) 时,使用 VS 开发应用程序服务器一切正常。该应用程序位于 localhost/。但是,我正在尝试将应用程序部署到 IIS 7.5 服务器上的/Management 目录中,并且遇到了很多路由问题,因为我的应用程序中的一些调用依赖于路由中的应用程序。

我有一些 javascript 代码通过如下所示的 ajax 调用来调用我的 Controller :

url: "/en/Home/GetFormula/"

我希望它转到:/Management/en/Home/GetFormula 但它转到站点的根目录并查找/en/Home/GetFormula 并返回 404 错误。

关于如何将我的 javascript 路由修复为默认的/Management/作为站点的根,有什么想法吗?

谢谢

最佳答案

当传递给 HTTP 请求的伪 URL 以斜杠开头(例如“/path/to/resource”)时,伪 URL 被“完成”,就像给定的路径在网站的下面一样根目录(例如“http://my.site/path/to/directory”)。

显然,您希望处理伪 URL,就好像给定路径位于 Web 应用程序的根目录下一样。好吧,我有一个坏消息要告诉你:HTTP 协议(protocol)不处理“Web 应用程序”这样的事情。

ASP.NET MVC Framework 提供了 Url.Content 函数,它接受以波浪字符开头的伪 URL(例如,“~/path/to/resource”)并返回结果用 Web 应用程序的根目录(例如,“http://my.site/an/application/path/to/resource”,假设 Web 应用程序的根目录是“http:/my.site/an/应用”)。但是,ASP.NET MVC Framework 仅在服务器端可用。如果您的 JavaScript 在客户端运行,则它无法调用 Url.Content

但并非所有都丢失了。 ASP.NET MVC 框架 allows you to dynamically generate JavaScript code on the server and run it on the client ,同样的方式allows you to dynamically generate HTML content and of course send it to the client .这样,您就可以在服务器端将伪 URL 扩展为实际 URL,并将生成的 JavaScript 代码部署到客户端。

关于javascript - asp.net MVC 路由 - javascript url 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6700959/

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