405 - 方法不允许,无法获得解决方案

问题描述 投票:0回答:1

我正在制作一个网络应用程序。在此网络应用程序中,我使用已经制作的网络服务。在我开始为网络开发这个应用程序之前,我在java中为android做了完全相同的事情,所有的帖子请求都工作正常,但在这个网络应用程序中却不行。在邮递员中也有魅力。 有人可以帮我找出这是错误的吗? 这是我的代码:

<?php
header("Access-Control-Allow-Origin: *");  
header("Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Authorization");

session_start();


$totalPrice = 0;
$itemTotal = 0;


if (isset($_SESSION['cart']) && !empty($_SESSION['cart'])) {
    
    echo '<ul>';
    foreach ($_SESSION['cart'] as $key => $item) {
        echo '<li>';
        // Output item details
        // For example:
        echo 'Código: ' . $item['codigo'] . ', ';
        echo 'Descrição: ' . $item['descricao'] . ', ';
        echo 'Preço: ' . $item['preco'] . ', ';
        echo 'Quantidade: ' . $item['quantidade'];
        echo '</li>';
    }
    echo '</ul>';
} else {
    echo 'O carrinho está vazio.';
}

echo '<p>Total a pagar: ' . $totalPrice . '€</p>' . '<br>';


if (isset($_POST['fazerEncomenda'])) {
    
    if (!isset($_SESSION['user_id'])) {
        echo 'Utilizador não está logado.';
        exit;
    }

    
    $userId = $_SESSION['user_id'];

    // THE PARAMETERES ARE FIXED FOR NOW 
    $order = array(
        "FiscalYear" => "2024",
        "SectionCode" => "1",
        "DocTypeAbbrev" => "ENCCL",
        "EntityCode" => 1,
        "Date" => "09/02/2024",
        "ExpirationDate" => "08/12/2024",
        "CurrencyCode" => "EUR",
        "Lines" => array(
            array(
                "LineNumber" => 1,
                "ItemCode" => "1",
                "ItemDescription" => "artigo teste",
                "Quantity" => 1,
                "VATTax" => 23,
                "UnitPriceExcludedVAT" => "1",
                "GetReportBytes" => true
            )
        )
    );

  
    $ch = curl_init('http://myip/ERPV22/api/EncomendarUser/GenerateCustomerOrder');
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($order));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Cookie: PHPSESSID=' . session_id() 
    ));

    
    $decodedCookies = urldecode($_SERVER['HTTP_COOKIE']);
    curl_setopt($ch, CURLOPT_COOKIE, $decodedCookies);

    $response = curl_exec($ch);
    echo $response; 
}
?>

<form method="post"> 
    
    <input type="submit" name="fazerEncomenda" value="Fazer Encomenda">
</form>

感谢大家的帮助!

javascript php arrays post
1个回答
0
投票

非此代码的内容将返回 405 状态代码。你用什么来服务这个 PHP 代码(apache、nginx 等)?您的网络服务器(或者可能是负载均衡器?)正在返回此信息。如果您可以返回完整的响应标头,这将有助于您获得答案。

© www.soinside.com 2019 - 2024. All rights reserved.