首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从JS文件中获取正确的URL以进行ajax调用

从JS文件中获取正确的URL以进行ajax调用
EN

Stack Overflow用户
提问于 2015-10-17 18:35:44
回答 2查看 2.8K关注 0票数 0

我正在使用一个ASP.MVC应用程序。我创建了一个clients.js文件,其中包含一个ajax方法,该方法调用控制器,然后检索数据。我的问题是,该页面所在的URL看起来如下所示:

代码语言:javascript
复制
http://my.clients.com/GST/2015-4/LEBIN/Profiles/ClientProfile/Index/79

在我的ajax方法中

代码语言:javascript
复制
$.ajax({
  url: "ClientProfile/UpdateClient",
  context: ..
  data: ...
}).done(function() {
  ...;
});

因此,使用这种格式我得到

代码语言:javascript
复制
http://my.clients.com/GST/2015-4/LEBIN/Profiles/ClientProfile/Index/79/ClientProfile/UpdateClient

但我需要:

代码语言:javascript
复制
http://my.clients.com/GST/2015-4/LEBIN/Profiles/ClientProfile/UpdateClient

另外,如果我在url前面添加一个/,如下所示:

代码语言:javascript
复制
$.ajax({
  url: "/ClientProfile/UpdateClient",
 ...

它将URL格式化如下:

代码语言:javascript
复制
  http://my.clients.com/UpdateClient

如何才能获得正确的路径?,我只需要用正确的操作/Index/83替换/UpdateClient,而不需要时髦的替换或逻辑。

附加信息

为什么我不想添加整个url部分。是因为/2015-4/部分可能会发生几次变化

EN

回答 2

Stack Overflow用户

发布于 2015-10-17 18:49:44

只需使用../,这样就可以返回1个文件夹,所以它应该如下所示

代码语言:javascript
复制
$.ajax({
  url: "../../../ClientProfile/UpdateClient",
  context: ..
  data: ...
}).done(function() {
  ...;
});
票数 1
EN

Stack Overflow用户

发布于 2020-08-24 00:43:21

可以通过将默认的site URL添加到主模板头中来实现这一点,然后在任何.js文件中调用它,如下所示:

定义标题URL:

代码语言:javascript
复制
<script> var site_url = '<?php echo site_url() ?>';</script>
// define the <?php echo site_url() ?> in your main PHP config file.

然后在您的javascript文件中,您可以以不同的方式调用该URL,例如:

代码语言:javascript
复制
window.location = site_url +'dashboard';

代码语言:javascript
复制
jQuery.post(site_url + 'account/forgot', jQuery(this).serialize(), function (res) {
    // your code here
});

代码语言:javascript
复制
$.ajax({
    type: "POST",
    url: site_url + 'home/newsletters'
});

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33190201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档