Javascript 无法从函数中获取值到my update.php

Javascript 无法从函数中获取值到my update.php,javascript,php,api,Javascript,Php,Api,因此,我无法从我的函数接收更新数据库的值,如果我手动输入这些值,代码将正常工作 我的职能 function changeStatus(id, ativo) { $.post(baseUrl + "article_type/update.php", { id: id, ativo: ativo }, functi

因此,我无法从我的函数接收更新数据库的值,如果我手动输入这些值,代码将正常工作

我的职能

   function changeStatus(id, ativo) {
        $.post(baseUrl + "article_type/update.php",
            {
                id: id,
                ativo: ativo
            },
    
            function (data) {
                console.log(data)
            });
    }
我的更新api

<?php
  // Headers
  header('Access-Control-Allow-Origin: *');
  header('Content-Type: application/json');
  header('Access-Control-Allow-Methods: PUT');
  header('Access-Control-Allow-Headers: Access-Control-Allow-Headers, Content-Type, Access-Control-Allow-Methods, Authorization,X-Requested-With');

  include_once '../../config/Database.php';
  include_once '../../models/Articles_type.php';
  // Instantiate DB & connect
  $database = new Database();
  $db = $database->connect();

$data = json_decode(file_get_contents("php://input"));
  // Set ID to UPDATE
$data = [
    'ativo' => $data->ativo,
    'id' => $data->id,
];
$sql = "UPDATE tipo_artigos SET ativo=:ativo WHERE id=:id";
$stmt= $db->prepare($sql);
$stmt->execute($data);
 
?>

下面的代码对我很有用,如果您认为它是正确的格式,您可以遵循:

 header('Access-Control-Allow-Origin: *');
  //header('Content-Type: application/json');
  header('Access-Control-Allow-Methods: PUT');
  header('Access-Control-Allow-Headers: Access-Control-Allow-Headers, Content-Type, Access-Control-Allow-Methods, Authorization,X-Requested-With'); 

$data = json_decode(file_get_contents("php://input"));
  // Set ID to UPDATE
$data = [
    'ativo' => $_POST['ativo'],
    'id' => $_POST['id'],
];

你试过邮件标题吗<代码>标题('Access-Control-Allow-Methods:PUT,POST')尝试过,仍然没有结果每年将值放在哪里?您在使用此代码时遇到了什么问题?为什么
header('Content-Type:application/json')?你只是在做一个常规的
post
(你没有显式地发送JSON)。如果我更改这个值ativo'=>$data->ativo,'id'=>$data->id,手动工作,我使用它是因为我在测试更多的东西。好的,允许
post
方法,删除
内容类型
标题,并从
$\u POST
中获取值,而不是从输入中读取值。请注意
$data=json\u decode(file\u get\u contents(“php://input"));在这里不再是必需的。绝对是的,并且删除标题所有内容(如果不需要,请检查),如果我们遵循这些类型的格式代码,则没有任何用处!谢谢,它起作用了