我一直在开发一个asp.net mvc应用程序,我需要制作大量的jquery post并获取调用控制器方法的请求并获取json结果。一切都很好。
问题是我必须编写不同的jquery帖子并在本地Intranet上获取请求URL(通过制作虚拟目录部署)和实时服务器。
当前的jquery请求网址如下:
$ .post(“/ ProjectsChat / GetMessages”,{roomId:24},.........。
现在这种jquery请求的url格式适用于实时服务器,但不适用于本地Intranet。因为在本地Intranet上我已经创建了一个虚拟目录。 仅当我附加虚拟目录的名称时才有效,例如“$ .post(”MyProjectVirutalDirName / ProjectsChat ...................“
我相信大多数人一定遇到同样的问题。
现在我做了一个完整的项目,有大量的jquery请求,我想通过在本地Intranet上部署并修复bug来测试应用程序。更改本地Intranet的所有jquery请求对我来说似乎不是可行的解决方案,我真的是一个大问题,我无法在这样的实时服务器上部署相同的项目并在那里进行测试,客户端会杀了我。 / p>
我需要一些专家意见。
请帮忙
由于
答案 0 :(得分:0)
为了避免这个问题,我设置并在本地运行的许多类似物iis5.1
我建议对不那么小的项目做同样的事情。您可以更好,更快地开发您的开发,因为您不需要每次都在调试模式下运行visual studio来查看更改,您只是在浏览器上看到您的页面,并在visual studio上进行编程。
如果你需要调试代码的一部分,你可以附加到进程,或者只是删除这行代码,程序启动调试Debug.Assert(false);
希望得到这个帮助。
答案 1 :(得分:0)
我建议你避免在你的javascript中硬编码网址。您遇到的问题是其中一个原因,另一个原因是您决定更改路线。这是你可以做的事情。在视图中定义一个全局javascript变量,该变量将保存地址,并使用html帮助程序计算:
var messagesAddress = '<%= Url.RouteUrl(new { controller = "ProjectsChat", action = "GetMessages" }) %>';
然后在脚本中使用此变量:
$.post(messagesAddress, { roomId: 24 },..........
答案 2 :(得分:0)
在主页标题中使用基本标记,并根据需要进行更改...
<base href="http://site/MyProjectVirutalDirName"></base>
这是一个快速解决方法,意味着您无需查看所有代码