如何解决无法将 JSON POST 请求获取到 phpmysql 数据库
我试图将 json 对象传递给 PHPMysqL 服务器,但数据没有通过那里。 当我通过 angular 组件的 forData 请求传递它时,它工作正常。
我必须在数据库中有 3 列( id 、 username 、 email )。
function addData(userDetail) {
//indexDb
let obj = userDetail; <====== here userDetail is {username: "fde",email: "fd@dd.com"}
console.log(obj);
fetch('http://localhost:81/save.PHP/',{
method: 'POST',headers: {
'Content-Type': 'application/json','Access-Control-Allow-Origin': "*",'Access-Control-Allow-Credentials' : true
},body: obj,})
}
我从 IndexedDb 键值中获取这个 userDetail。在数据库上检查时,没有任何内容被发布。
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "users";
// Create connection
$conn = new MysqLi($servername,$username,$password,$dbname);
// Check connection
if ($conn->connect_error) {
die("Connection Failed: " . $conn->connect_error);
}
$sql = "INSERT INTO userdetails (email,username)
VALUES ('".$_POST['myEmail']."','".$_POST['myUsername']."')";
if (MysqLi_query($conn,$sql)) {
$data = array("data" => "You Data added successfully");
echo json_encode($data);
} else {
$data = array("data" => "Error: " . $sql . "<br>" . $conn->error);
echo json_encode($data);
}
编辑:-
组件 POST 调用:-
let myFormData = new FormData();
// Begin assigning parameters
const { firstname: username,email } = this.registerForm.value;
myFormData.append('username',username);
myFormData.append('email',email);
console.log(this.registerForm.value);
//post request
return this.http.post('http://localhost:81/save.PHP/',myFormData).subscribe((res: Response) => {
console.log(res);
},(err) =>{
this.indexedDbService
.addUser(username,email)
.then(this.backgroundSync)
.catch(console.log);
// this.backgroundSync();
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。