以下是我在网站上用于发送即时消息的脚本。它在 99.9% 的情况下都能正常工作,但有时一些用户报告说他/她无法发送消息。今天我收到了一份来自 MIE 8.0 用户的新报告。我检查了服务器的日志文件,发现 MIE 8.0 忽略了这个脚本。当用户单击“发送”按钮时,浏览器将 GET 请求连同所有表单数据发送到表单所在的同一文件,而不是 POST 请求。该用户说几天前一切正常。我没有更改文件中的任何内容,并且我认为该用户几天前没有将 MIE 升级到 8.0(最新版本是 9.0)。我有这个问题超过3年。报告此问题的用户并不多,但无论如何我想找到解决方案。
任何想法可能导致此问题?谢谢。
<script type="text/javascript">
$(document).ready(function(){
$("#sendmessage").submit(function(){
$("#note1").show().html('<div style="text-align: center;">Sending</div>');
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "/messages.php?do=send",
data: str,
success: function(data) {
if (data == "ERR1") {
result = '<div class="red">Error1 1</div>';
$(this).html(result);
}
else if (data == "ERR2") {
result = '<div class="red">Error2</div>';
}
else {
$("#fields").hide();
result = data;
}
$('#note1').hide();
$("#note").hide();
$("#note").fadeIn(1000).html(result);
}
});
return false;
});
});
</script>
<form id="sendmessage" name="sendmessage" onsubmit="doCheck();">
...
<textarea></textarea>
...
<input type="submit" value="Send" onclick="doCheck();" />
</form>