php - 带有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!");
}
}
}
?>
解决方案
请尝试以下代码。
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);
}
});
}
}
推荐阅读
- json - 如何在 JSON 文件中的 Swift 对象中包含 png 文件?
- omnet++ - 静脉中的 MAC 层
- c# - c# 奇怪的类行为
- vb.net - 在 vb.net 2015 中使用设置和部署创建 setup.msi 时出错
- java - JavaFX 构造函数中的 SQLException
- visual-studio-code - VSCode 扩展:如何打开带有 http url 的新窗格
- c++ - 与多边形相交时 CGAL 中的分段错误
- karate - 如何遍历空手道中的普通数组?
- reactjs - react-infinite-scroll-component 突然停止工作
- reactjs - 何时以及如何在 React Hooks 和旧的 HOC 道具传递之间进行选择?