我正在使用一个ASP.MVC应用程序。我创建了一个clients.js文件,其中包含一个ajax方法,该方法调用控制器,然后检索数据。我的问题是,该页面所在的URL看起来如下所示:
http://my.clients.com/GST/2015-4/LEBIN/Profiles/ClientProfile/Index/79在我的ajax方法中
$.ajax({
url: "ClientProfile/UpdateClient",
context: ..
data: ...
}).done(function() {
...;
});因此,使用这种格式我得到
http://my.clients.com/GST/2015-4/LEBIN/Profiles/ClientProfile/Index/79/ClientProfile/UpdateClient但我需要:
http://my.clients.com/GST/2015-4/LEBIN/Profiles/ClientProfile/UpdateClient另外,如果我在url前面添加一个/,如下所示:
$.ajax({
url: "/ClientProfile/UpdateClient",
...它将URL格式化如下:
http://my.clients.com/UpdateClient如何才能获得正确的路径?,我只需要用正确的操作/Index/83替换/UpdateClient,而不需要时髦的替换或逻辑。
附加信息
为什么我不想添加整个url部分。是因为/2015-4/部分可能会发生几次变化
发布于 2015-10-17 18:49:44
只需使用../,这样就可以返回1个文件夹,所以它应该如下所示
$.ajax({
url: "../../../ClientProfile/UpdateClient",
context: ..
data: ...
}).done(function() {
...;
});发布于 2020-08-24 00:43:21
可以通过将默认的site URL添加到主模板头中来实现这一点,然后在任何.js文件中调用它,如下所示:
定义标题URL:
<script> var site_url = '<?php echo site_url() ?>';</script>
// define the <?php echo site_url() ?> in your main PHP config file.然后在您的javascript文件中,您可以以不同的方式调用该URL,例如:
window.location = site_url +'dashboard';或
jQuery.post(site_url + 'account/forgot', jQuery(this).serialize(), function (res) {
// your code here
});或
$.ajax({
type: "POST",
url: site_url + 'home/newsletters'
});谢谢
https://stackoverflow.com/questions/33190201
复制相似问题