我的开发环境的网址是:
http://localhost/mysite/blah...
我正在使用jQuery& getJSON在我的网站上执行一些ajax操作,我一直工作正常,我指定网址为:
/mysite/controller/action
..但这并不理想,因为我不想将我的开发网址硬编码到我单独的jQuery包含文件中。
当网站上线时,将控制器/操作或/控制器/操作作为URL解决就可以了,但是对于开发站点来说,它没有用。
我试过了:
controller/action
..但是这会返回404,这让我感到很惊讶,因为我认为url前面缺少/会阻止查看网站根目录。
必须有一个简洁的解决方案吗?
答案 0 :(得分:4)
我会通过在HTML标题中插入一个全局常量来完成此操作:
<script type="text/javascript">
var BASE_URL = '/mysite/';
</script>
这将从您的服务器插入,以便可以动态更改。 稍后在您的脚本中,您将能够使用(jQuery样式)来生成AJAX请求:
$.ajax( BASE_URL + '/controller/action', ...);
答案 1 :(得分:1)
如果你在
/mysite/controller/action
然后是
的正确相对路径/mysite/some_other_controller/some_other_action
是
../../some_other_controller/some_other/action
答案 2 :(得分:0)
您可以使用此代码获取.js脚本的当前路径,并使用它来计算相对路径。
# get structure
dat$icd9_1 %>% str()
# get rid of NAs (replace with 0s)
dat$icd9_1[is.na(dat$icd9_1 )] <- 0
# turn into factor
dat$icd9_1 <- factor(dat$icd9_1)
# get levels
dat$icd9_1 %>% levels()
# use fct_collapse
dat %>%
mutate(icd9_bin_1 = fct_collapse(
icd9_1,
`icd9` = c("411.89","414.01"),
`no icd9 dx` = c("0")))
# A tibble: 6 x 4
# pat_id icd9_1 icd9_2 icd9_bin_1
# <dbl> <fctr> <chr> <fctr>
# 1 414.01 414.01 icd9
# 2 411.89 <NA> icd9
# 3 0 410.71 no icd9 dx
# 4 0 <NA> no icd9 dx
# 5 0 410.51 no icd9 dx
# 6 0 272.0, 410.71 no icd9 dx
将YOUR_SCRIPT_NAME替换为您脚本的唯一名称。