首页 > 解决方案 > 带有ajax jQuery的405(不允许的方法)(POST)方法

问题描述

我试图通过 ajax jQuery 将一些数据发送到带有 POST 的 php 文件,但我不断收到 POST 405 Method Not Allowed 错误,任何解决此问题的想法将不胜感激,这是进行调用的函数

function manageData(key) {
    var name = $("#countryName");
    var abbrev = $("#countryAbbrev");
    var desc = $("#countryDesc");

    if (isNotEmpty(name) && isNotEmpty(abbrev) && isNotEmpty(desc)) {
        $.ajax({
            url: 'http://127.0.0.1:5500/ajax.php',
            method: 'POST',
            dataType: 'text',
            data: {
                key: key,
                name: name.val(),
                abbrev: abbrev.val(),
                desc: desc.val()
            },
            success: function (response) {
                alert(response);
            }
        });
    }
}

这是 ajax.php 文件代码

<?php
    if (isset($_POST['key'])) {

        $conn = new mysqli(host:'localhost', username:'root', passwd:'root', 
        dbname:'mysqldatamanager');
        $name = $conn->real_escape_string($_POST['name']);
        $abbrev = $conn->real_escape_string($_POST['abbrev']);
        $desc = $conn->real_escape_string($_POST['desc']);

        if($_POST['key'] == 'addNew') {
            $sql = $conn->query(query:"SELECT id FROM country WHERE 
            countryName = '$name'");
            if ($sql->num_rows > 0) {
                exit("Country already exists!");
            } else {
                $conn->query("INSERT INTO country (countryName,                     
                countryAbbrev, countryDesc) VALUES ('$name', '$abbrev', 
                '$desc')");
                exit("Country has been added succesfully!");
            }   
        }
    }
?>

标签: phpjqueryajaxhttp-status-code-405

解决方案


请尝试以下代码。

function manageData(key) {
    var name = $("#countryName");
    var abbrev = $("#countryAbbrev");
    var desc = $("#countryDesc");

    if (isNotEmpty(name) && isNotEmpty(abbrev) && isNotEmpty(desc)) {
        $.ajax({
            url: 'http://localhost/ajax.php',
            type: "POST",
            data: {
                key: key,
                name: name.val(),
                abbrev: abbrev.val(),
                desc: desc.val()
            },
            success: function (response) {
                alert(response);
            }
        });
    }
}

推荐阅读