JQuery在$.ajax方法中创建错误的URL

JQuery在$.ajax方法中创建错误的URL,jquery,Jquery,我想知道是否有任何实用方法(可能类似于c#Path.Combine)可以在jquery中创建URL。我有一个网络应用程序。如果我通过键入http://mymachine/myapp/在我的web浏览器中,然后使用url='search'发出请求,请求将发送到http://mymachine/myapp/search。到目前为止还不错 但是,如果我通过键入http://mymachine/myapp在我的web浏览器中,应用程序将加载,但如果我使用相同的url调用$.ajax,jquery将向ht

我想知道是否有任何实用方法(可能类似于c#
Path.Combine
)可以在jquery中创建URL。我有一个网络应用程序。如果我通过键入
http://mymachine/myapp/
在我的web浏览器中,然后使用
url='search'
发出请求,请求将发送到
http://mymachine/myapp/search
。到目前为止还不错


但是,如果我通过键入
http://mymachine/myapp
在我的web浏览器中,应用程序将加载,但如果我使用相同的url调用$.ajax,jquery将向
http://mymachine/search
-这不是我想要的。如何解决此问题?

使用服务器端语言在js中设置应用程序基url:

例:


var baseUrl='';

发出Ajax请求时,无需计算基本URL

您应该提供的URL是-

url = '/myapp/search'


Hence the request will goto - http://myhostname/myapp/search
有关更多信息,请参阅-


您的应用程序使用什么服务器端语言编写?什么是应用程序名?因为您使用的是相对路径,所以最好使用应用程序上下文路径,并使用绝对url引用,而不是相对url myapp是应用程序名。我使用c#作为服务器端语言。这不好,因为应用程序的名称(本例中为myapp)是用javascript硬编码的。我认为这是正确的答案。在asp.net mvc中使用@Request.ApplicationPath
url = '/myapp/search'


Hence the request will goto - http://myhostname/myapp/search