1

ユーザーがメールで Gravatar アカウントを持っているかどうかを確認する機能を自分のページに追加したいと考えています。はいの場合は、その画像を表示する必要があります。そうでない場合は、他のオプションを指定する必要があります。

私は次のようにこれをやろうとしています:

  $.ajax({
      url: 'https://secure.gravatar.com/' + md5(user.email) + '.json',
      method: 'GET',
      timeout: 4000,
      success: function successFn() {
          doGravatarStuff();
      },
      error: function errorFn(response, status, error) {
          console.log(response.status); //debug
      }
  });

Internet Explorer では常に 0 のエラー ステータスが返され、その理由がわかりません。「dataType」を「json」、「html」などに変更しようとしましたが、役に立たないようです。

また、おそらくそれは関連する問題です。実際にアカウントを持っていないユーザーでFFまたはCromeでこれをテストすると、「ネット」タブの読み取りに従って404エラーが返されます

404 Not Found 649ms

しかし、「response.status」はまだ 0 のようです

アイデアはありますか?よろしくお願いします!

4

1 に答える 1

5

通常、クロスドメイン AJAX リクエストはセキュリティ上の理由から拒否されます。このブログ記事を参照してください: http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/

dataType を試しましたjsonpか?twitter のつぶやき json フィードにアクセスするときは jsonp を使用します。

例:

var urls = "http://twitter.com/status/user_timeline/" + username + ".json?count=" + pageSize + "&page=" + currentPage;

  $.ajax({
    beforeSend: function () {
      $("#ajax-load").fadeIn()
    },
    url: urls,
    cache: true,
    type: 'GET',
    dataType: 'jsonp',
    success: twitterCallback2
  });

  };
于 2011-09-07T14:24:49.520 に答える