我对在哪里设置基本网址感到困惑。目前我正在调用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字符串。
作为HTML页面的<base>
或js文件的String
?谢谢。
答案 0 :(得分: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>
答案 1 :(得分:0)
我正在开发一个大型应用程序,并且很快就了解到将路径保存在一个位置并在其他地方使用变量和/或常量会有很大好处。原因很简单:灵活性,干燥等等。
如果您有一个也使用Javascript的PHP应用程序,就像我一样,您可能需要考虑这样做:
<?php
define("WEB_ADDRESS","http://www.somewebsite.com");
//...
?>
现在,要将它放入每个JS页面,虽然我不知道您的特定体系结构以及您是否使用了引导程序,但我假设您有一个或多个文件,您可以从中引导并加载页眉/页脚,或者您使用模板程序。如果没有,您可能想要查看它。在任何情况下,概念都是您只需在页面文本的开头为您加载的每个页面声明它,然后再包含任何其他JS。
//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中断开任何链接。
答案 2 :(得分: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
url: baseUrl + 'account/login'