我有一个使用 POST 将一些数据发送到 PHP 文件的 javascript 文件,例如:
var additional = "Feb2015";
xmlhttp.open("POST", "database_comm_general.php?query=" + additional, true);
在 PHP 文件中,我使用 $_GET 获取“附加”变量:
$query = $_GET['query'];
现在,如果我想用它从 MySql 获取一些数据,我将它用于我的查询,但是当我回应它时,它只显示空引号,其中 'Feb2015' 应该是:
$sql_query = "SELECT * FROM '" . $query . "'";
Output: "SELECT * FROM ''"
更奇怪的是,如果我使用 json_encode 并在 javascript 端打印它,它显示得很好。
同样,如果我查看变量是否等于“Feb2015”,使用 json_encode 它将返回 true,但在页面上它会同时输出 false。
有什么想法吗?
编辑:
这是我的 javascript 代码:
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var content = JSON.parse(this.responseText);
window.alert(content);}}
xmlhttp.open("POST", "database_comm_general.php?query=" + additional, true);
xmlhttp.send();
最佳答案
好吧,我无法解决这个确切的问题,但我通过其他方式让我的代码正常工作:
首先,我使用 jquery 而不是 javascript 来与 PHP 通信:
text = "Feb2015";
$.ajax(
{ url : "database_comm_general.php?" + text, success: function(data){
var return_data = JSON.parse(data);
populateTableList(return_data);
}});
其次,在PHP文件中,我没有使用$_GET,我从链接地址获取数据:
$link = $_SERVER[REQUEST_URI];
$index = strpos($link, "?");
$sub_string = substr($link, $index+1, 7);
$sub_string = $sub_string;
第三,我在MySQL代码中添加了一行代码,解决了一些无法编码的数组问题:
mysqli_set_charset($conn, 'utf8');
总而言之,我觉得我已经来回走动了,但我希望这对将来的人有所帮助。
关于javascript - $_GET 变量未出现在字符串和 bool 运算中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39519999/