2014-05-07 66 views
0

我很困惑,應該在哪裏設置基本URL。目前,我打電話的URL及其擴展,因爲它們是:如何設置基本URL並在哪裏申報?

例如:

$(document).on("pageinit", "#login", function() { 
    $("#form2").on("submit", function (event) { 
     $.ajax({ 
      type: "GET", 
      url: "http://www.websiteurl.com/public/account/login/", //the full url 
      data: $("#form2").serialize(), 
      success: function (data) { 
       if (data.loggedIn) { 
        alert("logged"); 
       } else { 
        alert("not logged"); 
       } 
      } 
     }); 
    }); 
}); 

從我的理解基本URL是一個字符串,我正好連接信息到字符串,如:

var baseUrl = "http://www.websiteurl.com/"; 

$(document).on("pageinit", "#login", function() { 
     $("#form2").on("submit", function (event) { 
      $.ajax({ 
       type: "GET", 
       url: baseUrl + "public/account/login/", //using baseUrl 
       data: $("#form2").serialize(), 
       success: function (data) { 
        if (data.loggedIn) { 
         alert("logged"); 
        } else { 
         alert("not logged"); 
        } 
       } 
      }); 
     }); 
    }); 

但我相信我做錯了,一些網站談論使用PHP來聲明baseurl。我可以得到一些建議如何做到這一點,我應該在哪裏聲明基本的URL字符串。

作爲<base>在HTML頁面或作爲String在js文件上?謝謝。

+0

可以使用<基本href =「」>或第二個實施例變種的baseUrl來設置。無需在php中聲明任何內容。或者只是使用完整的網址,baseUrl不是強制性的 – Timur

+1

http://stackoverflow.com/questions/1889076/is-it-recommended-to-use-the-base-html-tag –

回答

0

我不知道,但據我瞭解,這就像

<script type="text/javascript"> 
var baseUrl = '<?php echo "http://".$_SERVER["HTTP_HOST"]."/"?>'; 
</script> 

這裏的$_SERVER["HTTP_HOST"]一部分是主機名,比方說,www.example.com 然後在Ajax請求,你可以使用baseUrl JS var和可以連接網址

url: baseUrl + 'account/login' 
+0

可能是愚蠢的問題,但你的代碼的哪一部分,我將其替換爲我的基礎URL,例如,如果我的baseurl是「www.aaa.com/user」。 –

+0

@Trevor_zam我更新了一點答案,如果你的基礎url包含超過主機名的smth,比你應該添加的,所以它會是'<?php echo「http://」。$ _ SERVER [「HTTP_HOST」 ]。 「/用戶/」?>' – dav

1

您不需要指定完整的基本網址。

變化:

url: baseUrl + "public/account/login/", 

到:

url: "/public/account/login/", 

,它應該繼續工作。


考慮以下因素:HTTP://localhost/test.php

test.php的

<?php 

// GET Handler 
if (isset($_GET['loadData'])) 
{ 
    exit('Got your request'); 
} 

?> 

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 
<script type="text/javascript"> 

$(document).ready(function() 
{ 
    $.ajax({ 
     url: "/test.php?loadData", 
     success: function(result) { 
      alert(result); 
     } 
    }); 
}); 

</script> 
+0

它不起作用。我應該在哪裏放置baseurl。正如你所看到的,我目前正在將它聲明爲普通字符串。 –

+0

如果'baseURL'類似於'http:// www.websiteurl.com/test /'這可能不起作用。 –

+0

說實話,我沒有看到宣佈完整的url和baseurl +擴展之間有任何真正的區別。 –

0

我開發一個大型應用程序,並很快了解到有保持您的路徑在一個位置並在其他地方使用變量和/或常量是非常有益的。原因很簡單:靈活性,乾燥等

如果有也使用JavaScript PHP應用程序,像我一樣,你可能要考慮做這樣的事情:

文件:constants.php

<?php 
define("WEB_ADDRESS","http://www.somewebsite.com"); 
//... 
?> 

而現在,把它變成每一個JS網頁,雖然我不知道你的具體架構和是否要使用自助或沒有,我假設你已經從你引導一個或多個文件和負載頁眉/頁腳,或者您使用模板程序。如果不是的話,你可能想看看它。無論如何,這個概念就是你只需在你的頁面開始時爲你加載的每個頁面聲明它,包括任何其他的JS。

文件:header.php(在您正在加載的網頁中調用)。

//No Javascript above. 
echo '<script type="text/javascript">var WEB_ADDRESS = ' . WEB_ADDRESS . '</script>'; 
//Now you can put in your Javascript. 

的最終目的是,每個JavaScript文件包括你或者你調用任何JavaScript這一點是要訪問的變量WEB_ADDRESS後。如果您出於任何原因需要更改該路徑,則可以輕鬆地在不中斷任何鏈接的情況下執行此操作,方法是使用PHP和Javascript。