javascript で POST する(3) – FireFox 対応
以前、JavaScript で POST する方法を記事にしましたが、FireFox だとうまく行きませんでした。
いろいろ試してみると、XMLHttpRequest で send が完了するまで待ってから reload しないとうまく動かないようです。JavaScript の定義部分を以下のように、イベントハンドラを使い、send が完了した後で reload するようにすれば、FireFox でもうまく動くようになりました。
<script>
function post() {
xhr = new XMLHttpRequest();
xhr.open('POST', '#', true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
xhr.onreadystatechange = function () {
if(xhr.readyState === XMLHttpRequest.DONE) {
location.reload(true);
}
}
var request = "age=18";
xhr.send(request);
}
</script>
この方法であれば、Chromium でも FireFox でも問題ないようです。テストページ も更新しました。

ディスカッション
コメント一覧
まだ、コメントがありません