爱奥尼亚5唐';t将数据发布到api php
请帮忙 我是这个论坛的新手 我有一个应用程序,我将发送到PHPAPI数据保存到mysql中 我的代码是5爱奥尼亚5唐';t将数据发布到api php,php,ionic-framework,Php,Ionic Framework,请帮忙 我是这个论坛的新手 我有一个应用程序,我将发送到PHPAPI数据保存到mysql中 我的代码是5 let headers : any = new HttpHeaders({ 'Content-Type': 'application/json' }); let item: { "nome" : "Sueli", "email" : "sueli16661@hotmail.com", "senha" : "123456", "nivel" : "admi
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."));
}
您没有将值分配给项
,而是在声明类型。换句话说,您使用的是:
而不是=
,应该是
let item = {
"nome" : "Sueli",
"email" : "sueli16661@hotmail.com",
"senha" : "123456",
"nivel" : "admin"
}
这可能就是问题所在
顺便说一句,我不认为你需要标题和字符串化后的数据。如果我记得清楚的话(我用PHP做任何事情已经好几年了),您可以在后端使用$\u POST
获取值(以您的例子为例,$\u POST['nome']
)。我使用了在criarUsuario()方法中处理的JSON格式,我没有使用$\u POST获得报酬,因为我使用的是http://PHP.input。当我用Postman测试应用程序时,它通过发送json来工作,但在ionic应用程序中它没有。