0

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

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

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

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

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

谢谢

4

1 回答 1

2

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

例如,/somePage从一个页面发布到www.mysite.com/folder/subfolder/page将发布到 url www.mysite.com/somePage

要纠正此问题,请从 before 中删除斜线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 =]

于 2013-10-03T14:19:31.463 回答