看着眼前的JavaScript,deleteMessage()
可以写成如下,以避免混乱的字符串处理,并给你更好的反馈,同时调试:
function deleteMessage(msgID, userid) {
if (!confirm("Are you sure?")) { return false; }
var data = {
'action': 'delete',
'msgID': msgID,
'user': userid
};
$.ajax({
url:'messages.php',
data: data,
type: 'POST',
success: function(response) {
alert(response);//debug message
//window.location.reload()
},
error: function((jqXHR, textStatus, errorThrown) {
alert((typeof errorThrown == 'string') ? errorThrown : textStatus);//debug message
}
});
}
你可以选择当一切都调试切换回$.post()
。
你会看到'action': 'delete'
是硬编码的。这是一个小问题,但没有必要将'删除'传递给deleteMessage
,因为这样命名的函数不会执行其他任何操作。在构建HTML时,需要进行相应的更改。
供参考:'mysql_real_escape_string'用于输入,没有任何一点在输出上调用它,你需要在messages.php中再次调用它,然后再插入。 – Louis
至于你的问题,你的代码看起来不错,你可以检查你的messages.php页面,问题可能在那里。 – Louis
我应该寻找什么?我撞到我的if语句来检查POSTED值到最高。它之前的唯一一件事是一对包含几页和一个会话变量的声明。 – user1406951