$ .get在localhost上的jquery url

时间:2012-12-27 00:52:21

标签: jquery

为什么示例一中的网址与$.get一起使用,但示例二中的网址不是?有没有办法使两个例子有效?

示例一

$.get("http://localhost/magic/pages/tcgqueryoutput.php",
    function(data, statusTxt){
       $('#tcg_query_output').html(data);
    });

示例二

$.get("tcgqueryoutput.php",
    function(data, statusTxt){
       $('#tcg_query_output').html(data);
    });

2 个答案:

答案 0 :(得分:2)

示例二基于当前的基本URL。因此,工作完全取决于Web应用程序的URL路由/目录结构。

修改:

在这种情况下,我想它会尝试默认为以下路由(假设路由是从您的根目录定位的):

http://localhost/tcgqueryoutput.php

因此,您需要在相对网址中指定更多内容才能正确解析。

答案 1 :(得分:0)

在第一个示例中,您使用显式路径名。最好的做法是在生产中使用根目录中的显式路径名或完全限定的路径。在我看来,你的第二种方法不起作用的原因是因为它从错误的地方推断出路径名称。它将采用当前的语言环境,然后附加您拥有的URL。改变这种情况有几种可能性。通常情况是,您将让服务器在路径中传递。

var serverPath = /*get value from server*/;

但是,您也可以选择明确键入此值,

var serverPath = "http://mydomain.com/";

允许您将其用作基础:

$.get(serverPath + "magic/pages/tcgqueryoutput.php",
function(data, statusTxt){
   $('#tcg_query_output').html(data);
});

如果您已从服务器传入serverPath,那么您将在localhost和生产中看到此工作。如果您手动执行此操作,则需要将值从localhost更改为mydomain.com。