【发布时间】:2016-05-20 01:21:40
【问题描述】:
我对 jQuery 完全陌生,并试图将一些 PHP 变量传递给 Jquery。我正在使用 CORS 将 JavaScript 和 PHP 文件从我的网络服务器获取到我的博客。
在我的博客上,我希望 jQuery 获取一个 PHP 文件并回显重定向标头变量。然后我需要 JavaScript 来获取这些变量并使用它们来进行客户端重定向。但我不知道该怎么做,我试了一整天都没有成功。
我服务器上的 PHP 文件如下所示:
<?php
require_once('geoplugin.class.php');
$geoplugin = new geoPlugin();
$geoplugin->locate();
// create a variable for the country code
$var_country_code = $geoplugin->countryCode;
// redirect based on country code:
if ($var_country_code == "US") {
echo ('Location: http://www.adomain.com');
}
else if ($var_country_code == "CA") {
echo ('Location: http://www.adomain.com');
}
else if ($var_country_code == "UK") {
echo ('Location: http://www.adomain.com');
}
else if ($var_country_code == "AU") {
echo ('Location: hhttp://www.adomain.com');
}
else if ($var_country_code == "NZ") {
echo ('Location: http://www.adomain.com/');
}
else if ($var_country_code == "ZA") {
echo ('Location: http://www.adomain.com');
}
else {
echo ('Location: http://www.adomain.com');
}
?>
我的 jQuery 请求如下:
function loadDoc() {
var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {
"US" == x && US436(),
"CA" == x && CA(),
"UK" == x && UK(),
"AU" == x && AU(),
"NZ" == x && NZ(),
"ZA" == x && ZA()
}
};
ajax.open("GET", "//mydomain.com/scripts/redirect.php", true);
ajax.send();
}
loadDoc()
好的,这是我“认为”应该工作的代码。 jQuery 脚本正在向我的服务器发出请求以获取该 redirect.php 脚本。然后我得到变量并将它们转换为函数。 (对吗???)
我有另一个 JavaScript 文件正在创建函数以使客户端重定向看起来像这样:
function US() {
window.location.replace("http://adomain.com");
}
好的,就是这样。希望我没有忘记这里的东西。但这就是我现在拥有的所有代码。就像我说的那样,由于我以前从未使用 jQuery 编码,因此我非常努力地围绕这个 CORS 进行思考。
如果有人能够告诉我问题是什么,那将非常感激!提前致谢。
【问题讨论】:
-
当您使用 jQuery 时,您可以使用 api.jquery.com/jquery.ajax 来稍微简化您的代码。我只会返回 URL 并在您的 AJAX 回调中重定向。我不确定你在分配所有这些功能。
-
@DavidJones 好吧,在我的服务器上,我有一个 GeoIP 旋转器。就像我说的那样,我正在根据他们的国家/地区轮换流量。由于我有不止一个博客,我正在尝试使用 CORS 从我的服务器获取 PHP 脚本。然后我尝试从我的 PHP 脚本中获取变量并使用 JavaScript 重定向我的流量客户端。我不确定这是否有意义,我只是希望让它发挥作用。
标签: javascript php ajax