我有一个问题,无法将从Javascript解析的数据保存到PHP中。当我实现WordPress时,问题就出现了。在单个index.html上,它可以工作,数据可以存储在数据库中。
在Javascript文件上:(发送数据)
var dbParam = JSON.stringify(data);
console.log(dbParam);
var obj, dbParam, xxmlhttp;
xxmlhttp = new XMLHttpRequest();
xxmlhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
// document.getElementById("demo").innerHTML = this.responseText;
}
};
xxmlhttp.open("GET", "http://localhost/trackpage/dummy-data/saveDB.php?x=" + dbParam, true);
xxmlhttp.send();
console.log("send");
关于PHP文件:(获取数据)
header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_GET["x"], false);
$conn = new mysqli ("localhost", "root", "", "laravelcrudwebapp");
$stmt = $conn->prepare("INSERT INTO tracks (data1,data2) VALUES (?, ?, )");
$stmt->bind_param("ss",$obj->data1,$obj->data2);
$stmt->execute();
$stmt->close();
$conn->close();
发布于 2018-05-23 08:52:28
如果要将数据作为GET参数发送,则必须首先对其进行URL编码:
var dbParam = encodeURIComponent(JSON.stringify(data));
然而,, --我要指出的是,通过GET requests执行写操作是非常糟糕的做法--。你对各种滥用和跨端脚本攻击敞开了大门。首先,你可以阅读这篇文章,也可以在谷歌上做一些研究:
https://stackoverflow.com/questions/50483790
复制相似问题