jQuery AJAX返回404错误

时间:2013-07-17 14:48:05

标签: php jquery

我尝试使用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

4 个答案:

答案 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。