【问题标题】:URL in $.post with multiples websites$.post 中包含多个网站的 URL
【发布时间】:2013-10-03 14:14:52
【问题描述】:

我有一个 JavaScript 来填写我的地址

  $.post('/Endereco/getEnderecos', { CardCode: dado }, function (data) {
    if (data) {
  (...)

我的问题是:如果我在“localhost”中发布我的网站,可以,但是如果我在“localhost/site”中发布我的网站不起作用,则与“www.mydomain.com”和“www.mydomain”相同.com/site”

我的网站是用 C# asp.net MVC3 IIS7 开发

我已经尝试使用 javascript 来获取主机,但无法正常工作

谢谢

【问题讨论】:

  • 从url中去掉前导斜杠是一样的吗? Endereco/getEnderecos

标签: c# javascript asp.net asp.net-mvc-3 iis


【解决方案1】:

您的地址 /Endereco/getEnderecos 中有一个前导斜杠,这将导致浏览器导航到当前主机的根目录,然后是您提供的 URL。

例如,从www.mysite.com/folder/subfolder/page 的页面发帖到/somePage 将发帖到网址www.mysite.com/somePage

要纠正此问题,请删除 Endereco 之前的斜线,这样您的 post 将如下所示:

$.post('Endereco/getEnderecos', { CardCode: dado }, function (data) {
  if (data) {
(...)

在回复您的评论时,您可以改用 .. 表示法,意思是“上一个文件夹”:

$.post('../../Endereco/getEnderecos', { CardCode: dado }, function (data) {
  if (data) {
(...)

localhost/order/Endereco/getEnderecos 生成的 URL 将是 localhost/Endereco/getEnderecos,因为我们使用了两个 .. 组件,所以它上升了两个文件夹而不是一个。

我正在寻找某种关于相对 URL 的教程,并找到了这个页面:http://www.webreference.com/html/tutorial2/3.html。它可能会帮助您更好地理解 HTTP URL =]

【讨论】:

  • 如果我这样做,我的链接是:“localhost/order/endereco/getEnderecos”,但我的功能在“localhost/endereco/getEnderecos”中,我还没有在 localhost/site 中尝试过
  • 查看我的编辑,我已经包含了.. 符号和一个页面链接,我发现这可能有助于您进一步了解相对 URL。
  • hmmm...我明白但没有办法动态地做到这一点?在任何网站工作,例如:www.somesite.com www.somesite.com/site www.somesite.com/site/website (...)
  • 好吧,只要你知道你需要备份多少关卡,它就会起作用。因此,只要您的文件夹结构保持不变,就可以了。
  • 算了,我明白了。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-07
  • 2014-03-02
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多