以下は、私の Web サイトでインスタント メッセージを送信するために使用するスクリプトです。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>