gpt4 book ai didi

php - IONIC 5 不要将数据发布到 api php

转载 作者:行者123 更新时间:2023-12-04 20:47:44 25 4
gpt4 key购买 nike

请帮忙...

我是这个论坛的新人。

我有一个应用程序,我将发送到 php api 数据以保存到 mysql。

我的代码 Ionic 5

let headers     : any       = new HttpHeaders({ 'Content-Type': 'application/json' });

let item: {
"nome" : "Sueli",
"email" : "sueli16661@hotmail.com",
"senha" : "123456",
"nivel" : "admin"
}
var link = 'http://localhost/project2MJA/usuarios/criarUsuario.php';
var myData = JSON.stringify(item);

this.http.post(link, myData, headers)
.subscribe(data => {
console.log(data["_body"]);
}, error => {
console.log(data['message']);
});

我的代码 php

<?php
// headers
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-
Requested-With");

// obtém conexão
include_once '../config/database.php';

// instancia objeto usuário
include_once '../objects/usuario.php';

$database = new Database();
$db = $database->getConnection();

$usuario = new Usuario($db);

// recebe dados via POST - Body
$data = json_decode(file_get_contents("php://input"));

// certifica que os dados estão preenchidos
if(
!empty($data->nome) &&
!empty($data->email) &&
!empty($data->senha) &&
!empty($data->nivel)
){

// define as propriedades
$usuario->nome = $data->nome;
$usuario->email = $data->email;
$usuario->senha = $data->senha;
$usuario->nivel = $data->nivel;


// cria o usuário
if($usuario->criarUsuario()){

// define código de resposta - 201 created
http_response_code(201);

// mensagem para o usuário
echo json_encode(array("message" => "Usuário criado com sucesso."));
}else{ // caso não cadastre o usuário exibe mensagem

// define código de resposta - 503 service unavailable
http_response_code(503);

// mensagem de usuário não cadastrado
echo json_encode(array("message" => "Usuário não pode ser criado."));
}
}else{ // mensagem de dados incompletos

// define codigo de resposta - 400 bad request
http_response_code(400);

// mensagem para usuário
echo json_encode(array("message" => "Usuário não criado. Dados incompletos."));
}

我运行 ionic serve 并测试以保存数据,我收到消息:

POST http://localhost/project2MJA/usuarios/criarUsuario.php 400(错误请求)

[ ionic 错误][1]

最佳答案

您不是在为 item 赋值,您是在声明类型。换句话说,你使用的是 : 而不是 =,它应该是,

let item = {
"nome" : "Sueli",
"email" : "sueli16661@hotmail.com",
"senha" : "123456",
"nivel" : "admin"
}

这可能是问题所在。

顺便说一句,我认为您不需要标题并将帖子的数据字符串化。如果我没记错(自从我用 PHP 做任何事情以来已经好几年了),您可以在后端使用 $_POST 获取值(以您的情况为例 $_POST['nome ']).

关于php - IONIC 5 不要将数据发布到 api php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59794469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com