htmlとjavaScriptでかいてます.
IEでやるとうまくいくのですが,Firefoxだとうまくできません.
alertは確認のためにいれてしました.
xml_doc.loadがうまくできないみたいです.
function Get_LocalSearch(){
//フォームに入力された住所をエンコード
address = encodeURI(document.form1.address.value);
// DOMオブジェクト生成
if (document.all) {
//IE
xml_doc = new ActiveXObject("Microsoft.XMLDOM");
} else {
// firefox
xml_doc = document.implementation.createDocument("", "", null);
}
xml_doc.async = false;
alert("1"); (←ここはでる)
// ローカルサーチの呼び出し(XMLの読み込み)
xml_doc.load("http://api.map.yahoo.co.jp/LocalSearchService/V1 … &p=" + address);
alert("2"); (←これがでない)
・
・
}
<form name="form1">
住所・郵便番号・施設・駅<br>
<input type="text" name="address" size=30>
<input type="button" value="検索" onClick="Get_LocalSearch()">
</from></br>
No.3ベストアンサー
- 回答日時:
firefoxの場合は、
XmlObj = new XMLHttpRequest();
だと思いますが。これでも、読み込むXMLが同じサイトに無いと、"Access to restricted URI denied"となって、だめなはずです。
クロスドメインアクセスの禁止をJAVASCRIPTだけで回避する方法として、
「JSON SCRIPT TAG アクセス」という手法があります。
これは<script></script>のタグ内には、外部サイトのデータを入れられる事を利用して、<script></script>内にJSON形式のデータを取り込みコールバック関数でアクセスする訳です。幸いにもYahooローカルサーチのHTTPリクエストはJSON形式のリクエストも可能ですから、この方法が使えそうです。
(※直接XMLオブジェクトとしては扱えません)
「JSON SCRIPT TAGアクセス」を手っ取り早く実装するには、
1.<script>type="text/javascript"
src="http://taggy.jpmashup/jsr_class.js"</script>
をインクルードしておく。
2.YahooへのHTTPリクエスト生成
var req =
"http://api.map.yahoo.co.jp/LocalSearchService/V1 …
3.SCRIPTタグ生成
oJsr = new JSONscriptRequest(req + "&name=GetJsonObj");
oJsr.buildScriptTag();
oJsr.addScriptTag();
4.コールバック関数準備
function GetJsonObj(data){
alert(data.LocalSearchResult.Count); /* 等 */
oJsr.removeScriptTag();
}
こんな感じです、ご参考になればよいのですが。
参考URL:http://taggy.jp/mashup/samplecode.html
No.4
- 回答日時:
「JSON SCRIPT TAGアクセス」の実装(修正)
<YahooローカルサーチAPI利用の場合>
1.<script>type="text/javascript"
src="http://taggy.jp/mashup/jsr_class.js"</script>;
をインクルードしておく。
2.YahooローカルサーチへのHTTPリクエスト生成
var req =
"http://api.map.yahoo.co.jp/LocalSearchService/V1 …
+ "appid=***" //Yahoo aplication ID
+ "&p=address" //検索対象(URLエンコードしておく)
+ "&o=json&callback=GetJsonObj" //JSON要求、コールバック関数名指定
+ "&datum=wgs"; //その他のパラメーター
3.SCRIPTタグ生成
oJsr = new JSONscriptRequest(req + "&name=GetJsonObj");
oJsr.buildScriptTag();
oJsr.addScriptTag();
4.コールバック関数を準備しておく
/*コールバック関数の引数に取得したJSON形式のデータがわたされます*/
function GetJsonObj(data){
alert(data.LocalSearchResult.Count); // 件数を表示
oJsr.removeScriptTag();
}
No.2
- 回答日時:
Firebugのconsoleをご覧ください。
あるいは、コード中の該当部分を
try {
xml_doc.load("http://api.map.yahoo.co.jp/LocalSearchService/V1 … &p=" + address);
} catch(e) {
alert(e);
}
のように書き換えてもよいです。
"Access to restricted URI denied"という例外が発生していませんか?
そうだとすれば、異なるドメインのファイルにはアクセスできないようするセキュリティー上の仕様です。
残念ながら、そのままではxmlの内容を取得することはできず、サーバで処理する等の工夫が必要になると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストエリアに履歴を残したい
-
テキストボックスに文字飾り表...
-
画面表示時の初期フォーカスの...
-
マイナスなら赤字で表示したい...
-
[JavaScript]ボタンを押下する...
-
textareaからiframeにしたら動...
-
HTMLファイル同士での値渡し
-
TextBoxに半角数字以外を入れた...
-
テキストボックスの背景色について
-
tabindexの取得
-
HTMLとJavaScriptで作った表示...
-
タイマーについて教えて下さい!!
-
マウスの位置をリアルタイムに取得
-
JavaScriptで作ったアプリが正...
-
VBscriptの配列変数をJavascrip...
-
【Javascript】(テキストボッ...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
localStorageでのcheckbox制御
-
onchangeイベントを強制的に発...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TextBoxに半角数字以外を入れた...
-
HTMLとJavaScriptで作った表示...
-
tabindexの取得
-
VBscriptの配列変数をJavascrip...
-
プルダウンで選択された値を別...
-
フォームの内容でリンク先URLの...
-
テキストボックスに入力した色...
-
JavaScriptで作ったアプリが正...
-
GetElementByIdがうまく取得で...
-
HTMLファイル同士での値渡し
-
jQueryのdatepickerの日付が選...
-
マイナスなら赤字で表示したい...
-
VBSからjavascript
-
テキストエリアに履歴を残したい
-
どちらかひとつのテキストボッ...
-
一部Enter無効化の方法を教えて...
-
ページ間で変数を保持したい
-
Request.Form(key)の中身をクリ...
-
javascriptのちょっとした動作...
-
JSで一つのボタンを押したとき...
おすすめ情報