Trans

NPOやソーシャルビジネスの創業・経営・マネジメント

POSTとGETの違い???

AllAboutのサイトで、Google Maps APIの設置の仕方が書いていたので、自サイトの勉強のためにいろいろといじってみる。

Ajax Google Mapsを自サイトに設置する

で、この通りにやってみるもの、何故か動かない。Maps自体は表示されるものの、XMLファイルの読み取りが上手くいかず、県庁のリストが出てこないんだ。その該当のソースは下。

//// //送信用関数 // function loadFile(url) { var request = GXmlHttp.create() request.open("POST",url , true) request.onreadystatechange = function() { if (request.readyState == 4) { on_loadedXML(request) } } request.send('') //この引数をnullにするとOpera8.02/8.5/9bが動作しなくなります }

XMLのファイルの置き場が間違えているのかと思い、いじっくてみても、全く反応しない。仕方がなく、公式ドキュメントを読んでみる。すると、

var request = GXmlHttp.create(); request.open('GET', 'myfile.txt', true); request.onreadystatechange = function() { if (request.readyState == 4) { alert(request.responseText); } } request.send(null);

と、API1だけど、こういうふうになっており、よくよく見ると、XMLのファイルを取り出す部分が、

request.open('GET', 'myfile.txt', true);

になっている。GETとPOSTの違いさえイマイチ分からない僕からすると、意外な答えだった。そこで、この部分をGETに置き換えると、うまくXMLファイルの呼び出しがいった。


でも、なんでAllAboutの参照ソースは、POSTでうまくいっているんだろうか?このへん、詳しい人知りませんか?