以下是我在网站上用来发送即时消息的脚本。它在99.9%的情况下工作正常,但有时用户报告他/她无法发送消息。 今天我收到了MIE 8.0用户的新报告。我检查了服务器的日志文件,发现MIE 8.0忽略了这个脚本。当用户单击“发送”按钮而不是POST请求时,浏览器会将包含所有表单数据的GET请求发送到表单所在的同一文件。这位用户说几天前一切正常。我没有更改我的文件中的任何内容,我不认为这个用户几天前将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>
答案 0 :(得分:0)
查看this post以了解该解决方案是否可以帮助您。该用户说他的URL格式导致GET而不是您怀疑的POST。请尝试使用此网址:
url: "/messages/?do=send"
OR
url: "/messages.php?do=send"
或者根据您的后端语言进行适当的扩展。