首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IONIC 5不将数据发布到api php

IONIC 5不将数据发布到api php
EN

Stack Overflow用户
提问于 2020-01-18 04:32:37
回答 1查看 550关注 0票数 3

请帮帮我。

我是这个论坛的新手。

我有一个申请,我将发送到php数据保存到mysql。

我的代码Ionic 5

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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和test来保存数据,并收到以下消息:

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

来自离子的错误

EN

回答 1

Stack Overflow用户

发布于 2020-01-18 10:09:25

您没有将该值赋给item,而是声明了该类型。换句话说,您使用的是:而不是=,应该是,

代码语言:javascript
复制
let item = {
  "nome" : "Sueli",
  "email" : "sueli16661@hotmail.com",
  "senha" : "123456",
  "nivel" : "admin"
}

这可能就是问题所在。

顺便说一句,我不认为你需要标题和字符串的数据的帖子。如果我没记错的话(我上次用PHP做任何事情已经有好几年了),您可以在后端使用$_POST获得值(在本例中以$_POST['nome']为例)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59794469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档