我尝试使用AJAX将表单数据发送到服务器,但它始终返回404。 这是我的代码:
$(function() {
var dataString ='Name: '+conditionName+"&Desc: "+conditionDescription+'&Condition: '+condition;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "saveCondition.php",
data: dataString,
success: function(response) {
alert ('Data saved: '+dataString);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
}
});
return false;
});
“saveCondition.php”与.js文件位于同一文件夹中 我在本地机器上使用WAMP服务器。
更新:
当我将路径更改为相对于HTML页面的“saveCondition.php”时,出现错误 500
答案 0 :(得分:2)
正在从HTML页面调用JavaScript文件。因此,网址参数必须相对于HTML网页 。
尝试将您的网址参数修改为以下内容:"MyJavaScriptFolderNameHere/saveCondition.php"
答案 1 :(得分:2)
AJAX请求的URL路径是相对于您当前所在页面的根目录,即您的页面是否位于根目录(我们称之为index.html)以及您的AJAX脚本(数据) .php),你的jQuery脚本在js目录中,你可以使用'data.php'作为URL。如果您的data.php脚本位于js目录中,则您的URL必须是'js / data.php'。
小心使用相对路径。最好使用绝对路径,以防脚本从不同的目录使用,而不是最初在其中开发的路径。
您提到500响应代码。这表明您请求的PHP脚本实际上是错误的。
要查明错误原因,请检查错误日志或将以下代码放入PHP脚本中。然后,错误将在HTTP响应正文中输出。
ini_set('display_errors', 'on');
error_reporting(E_ALL);
答案 2 :(得分:2)
确保正确提及saveCondition.php
的位置。
您的html页面路径似乎是“http://example.com/folder1/page1” 您的saveCondition.php位于http://example.com/saveCondition.php
在这种情况下,ajax代码将网址解释为http://example.com/folder1/saveCondition.php,这是不正确的。
尝试:'/ saveCondition.php'
答案 3 :(得分:1)
如果你得到404,因为js没有正确地指向PHP脚本。 要像你一样调用saveconditions,它应该和你添加js的脚本在同一个文件夹中,而不是js本身。如果您将URL更改为完全相对于站点URL,我认为更好,例如,如果您的PHP脚本位于public_html / ajax / saveconditions.php中,请将Ajax URL设置为/ajax/saveconditions.php。