微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法将 JSON POST 请求获取到 phpmysql 数据库

如何解决无法将 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。在数据库上检查时,没有任何内容被发布。

PHP 文件 :-

$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 举报,一经查实,本站将立刻删除。