• 締切済み

【jquery】クロスドメイン間の突破について

jquery.xdomainajax.js を使って、クロスドメインの突破を行おうとしております。 jquery.xdomainajax.js については、 http://www.kaasan.info/archives/1858 をご覧頂ければと思います。 本題はといいますと、 例えば、「hoge」としか書かれていないファイルが http://hogehoge.jp/a.html にあったとします。 そして、javascriptへ、 $.ajax({ url:'http://hogehoge.jp/a.html', // http://から始まるURLを指定 type: 'GET', success: function(res) { alert(res.responseText); } }); 記載することにより、alertで、「hoge」と表示させたいのです。 しかしながら、 ※以下本文 <html> <head> <meta content="HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org" name="generator"/> <title/> </head> <body> <p>hoge</p> </body> </html> ※以上 と表示されてしまいます。 どこを、どのように変更すれば「hoge」のみの表示が可能になるのでしょうか? 何卒、ご教授の程宜しくお願いします。

みんなの回答

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.3

取り敢えずresponseTextをresponseXMLにすればDOMで取得できますから そこからgetElementsByTagNameとかで範囲を狭めていけばいいでしょう 綺麗なやり方じゃなくていいのならresponseText.match(/<p>.+?<\/p>/)とかやればいいでしょう

回答No.2

>http://www.kaasan.info/archives/1858 >このプラグインのおもしろいところ、特徴を解説します。 >メタ情報の取得は無理。あくまでbody内のどこか プラグイン自身がresponseTextを書き換えてしまってるのではないでしょうか。 なのでraw dataを取得するには、プラグイン自身を改造しないとダメだと思います。 ※あくまで推測です。プラグインについて詳しい人ならその方法をご存知かもしれません。 s=''; for(var i in res ){ s+=i+': '+String(res[i]).substring(0, 20)+'\n'; } alert(s); などとして、どんなプロパティがあるか調べてみてはどうでしょうか。 もしかするとraw dataが別のプロパティとして保存されているかもしれません。

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

jQuery抜きに書くと .overrideMimeType("text/xml") + .responseXML もしくは .responseType="document" + .response

ubshink
質問者

補足

ご回答ありがとう御座います。 しかしながら、実際にどのようにすれば良いのか、わかりませんでした。。 $.ajax({ url:'http://hogehoge.jp/a.html', // http://から始まるURLを指定 type: 'GET', success: function(res) { res.responseType="document" + res.response; alert(res.responseText); } }); のようにしてみましたが、返答は変わりませんでした。 上記コードをどのようにすれば、alertで「hoge」のみの表示になるのか、 お手数ですが教えて頂けませんか? 宜しくお願いします。

関連するQ&A