LoginSignup
15
15

More than 5 years have passed since last update.

jQueryのAjax関数使用時の注意点

Last updated at Posted at 2013-09-24

jQueryのAjax関数を使用してhttp送信する際にブラウザごとに挙動が異なるのでメモ。

Firefox基本的に適当に入れると動くのですが、ChromeとSafariがうんともすんとも言わない。
原因となったオプションはこれ。

async / boolean

非同期通信フラグ。初期値ではtrue(非同期通信)で、リクエストが投げられてから応答があるまで、ユーザエージェントは非同期に処理を続行します。falseに設定(同期通信)した場合、通信に応答があるまでブラウザはロックされ、操作を受け付けなくなることに注意してください。

とのこと。
非同期じゃうまくいかないってことなのでasyncのオプションをfalseにして同期通信にしてあげるだけ。
IEはasyncオプションを外してあげれば良い。


$.ajax({
    type : 'post',
    url : 'POST_URL',
    data : data,
    dataType : 'json',
    scriptCharset: 'utf-8',
    async: false,
    success : function(data) {
     },
    error : function(XMLHttpRequest, textStatus, errorThrown) {
    }
});

15
15
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15