簡體   English   中英

xmlhttprequest沒有將變量從javascript傳遞給php

[英]xmlhttprequest not passing variable from javascript to php

我在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

header(“Content-Type:application / json”);

$a = $_GET['a'];
$username = "root"; 

但是,它顯示“Undefined index:a”。 有什么想法我應該怎么做才能解決這個問題?

你錯過了; 在你的var“a”的末尾,並沒有將var添加到你的網址。

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>";

你可以使用以下;

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;

您的ajax請求正在運行, undefined index: a通知意味着$_GET變量沒有鍵' a ',也許您正在代碼中的某處修改$ _GET?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM