jquery发布并在本地Intranet和实时服务器上获取不同的请求

时间:2010-04-23 06:06:04

标签: jquery asp.net-mvc request

我一直在开发一个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>

我需要一些专家意见。

请帮忙

由于

3 个答案:

答案 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>

这是一个快速解决方法,意味着您无需查看所有代码