如何在Json调用函数中获取绝对网站URL?

时间:2011-03-18 07:09:36

标签: javascript jquery javascript-framework unobtrusive-javascript

我在页面加载时调用了下面的函数。

http://www.test.com/home
http://biz.test.com/abhishek/favorites
http://www.test.com/chat/messages
http://prod.test.com/conversation

我想在javascript中获得绝对的网站路径, 所以我很容易在下面变量 strLink 在这里我指定固定路径 strLink =“www.test.com”; 而不是我希望它是动态的。 我怎样才能获得网站网址..

假设我的网址 - >

http://prod.test.com/conversation

我希望 http://prod.test.com/不是完整路径..

  var strLink ;
    strLink= "www.test.com"; // <- here I want to add dynamic path..
    strLink = strLink + "Service/getnames.asmx/GetNameByCity"
    function getName() {
        $.ajax({
            type: "POST",
            url: strLink,
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                 // code
            }
        });
    }    

3 个答案:

答案 0 :(得分:1)

要获取当前网页的网址,您可以使用location对象。

在这种情况下,您需要location.protocollocation.hostname

url: location.protocol + '//' + location.hostname + '/Service/getnames.asmx/GetNameByCity',

答案 1 :(得分:1)

@lonesomeday关于如何找出当前协议和域是完全正确的。但是在这种情况下,您根本不需要域名。只需指定根绝对路径:

url: "/Service/getnames.asmx/GetNameByCity"

起始/将始终指向当前域的根目录。

答案 2 :(得分:0)

使用window.location.hostname