スポンサーリンク

ブックマークレットのAjax通信も,クロスドメイン制限からは逃れられない。という件のメモ

ブックマークレットでXMLHttpRequestを使う際も,クロスドメイン制限がある。

下記のコードは,異なるドメインからは動作しない。

返却されるstatusが0になる。

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
  console.log(xhr.status);
  var s = xhr.responseText;
  console.log(s);
  var tit = s.match(/<title>(.+)<\/title>/gi)[1]
  console.log(tit);
};
xhr.open('POST', 'http://d.hatena.ne.jp/', true);
xhr.send();

Firebugのコンソールとかでも同じ。

参考:

ブックマークレット、無理やりXMLHttpRequestで実装 - zero’s memo
http://d.hatena.ne.jp/zero-uhura/2008...


ブックマークレットでXMLHttpRequest… | faLog
http://blog.faro.main.jp/?eid=589429


xmlHttpRequestしたいbookmarkletの代わりに作るけどトリガーはbookmarkletで。 - 心魅 - cocoromi -
http://umezo.hatenablog.jp/entry/2007...

XHRについて:

XMLHttpRequest の使い方 - WebOS Goodies
http://webos-goodies.jp/archives/5054...


AJAX example: get page title
http://www.anyexample.com/webdev/ajax...


JavaScript正規表現メモ。 - こせきの技術日記
http://koseki.hatenablog.com/entry/20...


XMLHttpRequestのステータスコードが0になるケース - Cheese Pie
http://d.hatena.ne.jp/cheesepie/20100...


javascript - XMLHttpRequest status 0 (responseText is empty) - Stack Overflow
http://stackoverflow.com/questions/50...


Ajaxが動きません〜『status=0』? - JavaScript - 教えて!goo
http://oshiete.goo.ne.jp/qa/3246213.html