首页 > 解决方案 > 使用钩子在 REACTJS 中发布请求

问题描述

我只想要一个使用 REACTJS 中的钩子的简单插入数据,并且每次我提交一个表单时它已经在响应中说在此处输入图像描述

尽管在我的标头请求有效负载中,它显示了我的数据 在此处输入图像描述

我的错误可能是什么?

这是我的发帖请求:

const [user, setUser] = useState(props.user)

  const submit = e => {
    e.preventDefault();
    fetch('request url', {
      method: 'POST',
      body: JSON.stringify({ user }),
      header: { 'Content-Type': 'application/json' },
    })
      .then(response => response.json())
      .then(json => setUser(json.user))
  }

这是表格:

<form onSubmit={submit}>
        <label>Name :</label><input type="text" name="user[Name]" onChange={e => setUser({ ...user, Name: e.target.value })}/>
        <label>Email :</label><input type="email" name="user[Email]" onChange={e => setUser({ ...user, Email: e.target.value })}/>
        <label>Phone :</label><input type="number" name="user[Phone]" onChange={e => setUser({ ...user, Phone: e.target.value })}/>

        <input type="submit" name="Submit"/>
      </form>

这是我的查询:

function insertUser(){
    $user = json_decode(file_get_contents("php://input"));
    if(isset($user)){
         global $con;
        $name = $user->Name;
        $email = $user->Email;
        $phone = $user->Phone;
        if(!empty($name) && !empty($email) && !empty($phone)){
        $query  ="INSERT INTO user(Name, Email, Phone) VALUES('$name','$email','$phone')";
        if(mysqli_query($con, $query) or die(mysqli_error($con)) )
        {
            $response=array(
                'status' => 201,
                'status_message' =>'User Added Successfully.',
                        'status_name' => $name
            );
        }else
        {
            $response=array(
                'status' => 400,
                'status_message' =>'User insert Failed.'
            );
        }
    }
    else
    {
        $response=array(
            'status' => 400,
            'status_message' =>'Request Body Empty.'
        );
    }
}

预先感谢您的友好回复。所有答案将不胜感激欢呼

标签: phpmysqlreactjs

解决方案


当您在请求中传递用户对象时,您可以使用

$user->user->Name

或者,如果您想将其转换为数组,您可以将true其作为第二个参数传递给json_decode函数,然后您可以将其访问为

$user['user']['Name']

同样。

乐意效劳 :)


推荐阅读