我在D3中制作了一张互动地图。我将所有数据存储在MySQL数据库中。由于用户可以选择年份来查看所有数据,因此我必须将年份传递给服务器端(php)以查询特定年份的数据。
我不知道D3.js中的特定功能来帮助我们将变量传递给php,因此我使用XMLHTTP将信息发送给php。
我的javascript:
a = "ARGGDP"
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "database/allcountry.php?a=a", true);
xmlHttp.addEventListener("load", ajaxCallback, false);
xmlHttp.send(null);
function ajaxCallback(event){
alert( "loaded");
}
我的PHP
标题("内容类型:application / json");
$a = $_GET['a'];
$username = "root";
然而,它显示"未定义索引:a"。有什么想法我应该怎么做才能解决这个问题?
答案 0 :(得分:1)
a = "ARGGDP";
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "database/allcountry.php?a="+a, true);
xmlHttp.addEventListener("load", ajaxCallback, false);
xmlHttp.send();
function ajaxCallback(event){
alert( "loaded");
}
PHP
echo "<pre>";
print_r($_GET);
echo "</pre>";
答案 1 :(得分:1)
您可以使用以下内容;
function sendAjax(data) {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
alert("loaded")
}
}
xmlhttp.open("GET","database/allcountry.php?a=" + data,true);
xmlhttp.send();
}
sendAjax("ARGGDP");
在php中
$a = $_GET['a'];
echo $a;
答案 2 :(得分:0)
您的ajax请求正常,undefined index: a
通知表示$_GET
变量没有密钥“a
”,您可能在代码中的某处修改$ _GET吗?