405 (метод не разрешен) (POST) метод с jjuery ajax - PullRequest
0 голосов
/ 21 октября 2018

я пытаюсь отправить некоторые данные через ajax jQuery в файл php с POST, но я получаю ошибку 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!");
            }   
        }
    }
?>

1 Ответ

0 голосов
/ 21 октября 2018

Пожалуйста, попробуйте ниже код.

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);
            }
        });
    }
}
...