ブックマークレットの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