我正在使用 jquery 发送一个 ajax 请求,如下所示:
$.ajax({
url: "lastMessageIndex.php",
type: "POST",
data: {room: $("#room").val()}
}).done(function(data){
lastMessageIndex = data;
});
我已经在我的开发环境中对此进行了测试,它可以工作,我从服务器获得了预期的响应,脚本继续运行,webapp 正常工作。但是当我将它上传到我的远程服务器时,它没有,并且在 apache2 error.log 文件中我看到了错误:
[Sun Oct 28 10:42:46 2012] [error] [client 44.46.23.50] ModSecurity: Error reading request body: Connection reset by peer [hostname "www.mysite.com"] [uri "/ie/IEGetMessages.php"] [unique_id "UI1ujNBx6w4AACW5MkkAAAAF"]
这可能不是问题的实际原因。如果我想得到来自 ajax 的响应,我不介意日志上有错误。它应该是一个数字,例如“4”,我得到的是一个长字符串:“警告:mysql_fetch_array():提供的参数不是 /home/tom/mysite.com/lastMessageIndex.php 中的有效 MySQL 结果资源11号线"
好的,当我编辑这个时,我解决了我的问题。实际上这很愚蠢,在我的开发环境中,mySQL 数据库名称在 prod 上有一个大写字母。env 都是小写的。
抱歉造成不必要的混乱。