2013-07-17 112 views
0

我尝试使用AJAX将表单数据发送到服务器,但它始终返回404。 这里是我的代码: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服务器本地机器上。

UPDATE:

当我改变路径 “saveCondition.php” 相对于HTML页面,我得到了错误

+2

你可以用你的浏览器工具来确认被调用的完整路径吗? Chrome和Firebug [Firefox插件]在“网络”标签下。 –

+1

错误500指示您的PHP脚本中有错误。检查你的PHP错误日志。 – Seidr

+1

太棒了!所以,现在它指向正确,但它有错误。:) – Sumoanand

回答

2

由AJAX请求的URL的路径是相对于你目前所在的页面的根源,也就是说,如果你的网页是在根目录下(让我们把它称为index.html)和你的AJAX脚本(data.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); 
+0

错误日志记录已停止!谢谢! – Braggae

2

的JavaScript文件正在从一个HTML页面调用。因此,相对于HTML页面,URL参数必须为

尝试编辑您的网址参数如下:"MyJavaScriptFolderNameHere/saveCondition.php"

1

,如果你得到一个404,因为JS是不是指向PHP脚本正确。 要像调用save这样调用saveconditions,它应该与您要添加js的脚本位于同一个文件夹中,而不是js本身。我认为如果将URL更改为与网站URL完全相关更好,例如,如果您的PHP脚本位于public_html/ajax/saveconditions.php中,请将Ajax URL设置为/ajax/saveconditions.php。