Javascript 如何在jQuery中获取Request.ApplicationPath
在razor视图中,我希望将所有jQuery放在一个单独的JS文件中,然后在视图中使用@Scripts.Render引用该文件 在我看来,我有一个类似于以下内容的jQuery部分:Javascript 如何在jQuery中获取Request.ApplicationPath,javascript,jquery,razor,Javascript,Jquery,Razor,在razor视图中,我希望将所有jQuery放在一个单独的JS文件中,然后在视图中使用@Scripts.Render引用该文件 在我看来,我有一个类似于以下内容的jQuery部分: var settings = {}; settings.baseUri = '@Request.ApplicationPath'; var submissionUrl = ""; if (settings.baseUri === "/ProjectNameOnServer") { submissionUrl
var settings = {};
settings.baseUri = '@Request.ApplicationPath';
var submissionUrl = "";
if (settings.baseUri === "/ProjectNameOnServer") {
submissionUrl = settings.baseUri + "/api/apiControllerName/apiControllerMethodName/";
} else {
submissionUrl = settings.baseUri + "api/apiControllerName/apiControllerMethodName/";
}
这段代码允许我在本地主机和服务器上使用api测试提交表单,而无需更改url
如果在本地主机上测试,则@Request.ApplicationPath==/,但如果在服务器上测试,则@Request.ApplicationPath==/projectnameosserver
我想知道如何获得这些相同的值,但不使用Razor,而只使用jQuery
我试过:
var settings = {};
settings.baseUri = window.location.protocol + "//" + window.location.host;
但是,settings.baseUri==http://localhost:xxxxx. 我只需要@Request.ApplicationPath给我的确切信息。使用location.host有条件地创建相对路径
settings.baseUri = location.host.includes('localhost') ? '/' : '/ProjectNameOnServer';
对象不支持属性或方法'includes'确定..使用'localhost'的索引>-1