Safari でいわゆる Ajax を使って、ブラウザの画面遷移なしに最新データを読み込んだり、更新データを送信したりする仕組みを作っています。
XmlHttpRequest に XML を受信させ、responseXML で取り出そうとしても、undefined となりうまく動いてくれません。responseText ではちゃんとデータが受信できているのですが。データのフォーマット、文字コード、改行コード、GET/POSTなどありとあらゆるものを試しましたが解決しません。
ふと思い立って、XmlHttpRequest に対してサーバから返ってくるヘッダを見ると、Content-Type: text/html となっています。Apache で .xml のついた静的ファイルを送りだす時は、Content-Type: text/xml となるのですが、PHP/Smarty を使って、テンプレートで XML を生成しているため、html のヘッダがついたようです。
Smarty のテンプレートに、強制的に Content-Type: text/xml のヘッダを送信するように書き加えたところ、ちゃんと responseXML で XML が取り出せるようになりました。
2006年02月25日
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/13755272
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック
AmazonECSとPHP
Excerpt: PHP+AjaxでAmazonECSをつかうのに大変参考になりました。ありがとうございました。
Weblog: mashbook管理人のログとおしらせ
Tracked: 2006-07-13 07:06
http://blog.seesaa.jp/tb/13755272
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック
AmazonECSとPHP
Excerpt: PHP+AjaxでAmazonECSをつかうのに大変参考になりました。ありがとうございました。
Weblog: mashbook管理人のログとおしらせ
Tracked: 2006-07-13 07:06