- 締切済み
jqueryのajaxに引数を指定
ajaxを利用して外部HTMLを読み込ませたいのですが$.ajax()などをonclickイベントなどで呼び出すとき引数を指定してurlを設定することはできませんか イメージとしては 例えばjqueryでloadingpageという関数を作って HTMLを <input type="button" onclick="loadingpage(http://www.hogehoge.com);"> って感じにしてボタンをクリックするとhttp://www.hogehoge.comがページ内で読みだされるようにしたいです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- fujillin
- ベストアンサー率61% (1594/2576)
A No1です。 >$ajax()の引数を指定したいと言うより、$ajax()を含んだユーザー関数に >引数を指定してそれで、urlを指定したいというか よくわかりませんが、普通にユーザー関数の引数をそのままajaxのurlとして指定するのではダメなのでしょうか? 上記回答はそういう意味のつもりですが、私が質問の意味を理解できていないのかな?
- fujillin
- ベストアンサー率61% (1594/2576)
>引数を指定してurlを設定することはできませんか jQueryの$.ajax()の書式は、 jQuery.ajax( url [, settings ] ); となっていますので、そのままでご質問のようにできているのでは? それとも質問の意味を誤解しているのかしらん…? 詳しくはapiドキュメントを参照してください。 http://api.jquery.com/jQuery.ajax/
お礼
$ajax()の引数を指定したいと言うより、$ajax()を含んだユーザー関数に引数を指定してそれで、urlを指定したいというか ajaxは未だわからずいるので変なことを言ってるかもしれません。 このページの技術を応用してページを遷移せずlightboxのようにして、外部ページをボタンクリックで読み込ませたいんです。 http://highfivecreate.com/blog/course/tips/817.html で、いくつか読み込ませたいページがあった場合すべてをフルのコードで書いてURLをしていするとコードが冗長になるので、呼び出すときにurlは引数で指定したいんです。
お礼
再び、回答して下さりありがとうございます。 下のお礼で書いた、urlにあった例を変えてこんなコードを書いてみたのですがうまく行きませんでした。 jquery自体、ちょっとした動きをサイトにつけるくらいの用途でしか使ったことがないためajaxとは別の所で間違ってる可能性もあると思い全文書きます。 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script> <script type="text/javascript" src="js/jquery.xdomainajax.js"></script> <script type=text/javascript> $function ajaxr(aaa) { var url = aaa; $.ajax({ url: url, type: 'GET', success: function(data) { $('#container').html(data.responseText); $table = $('table', $('#container')); $('#header').html($table.parent().prev().html()); $('#stock').html($table.parent().html()); } }); }; </script> </head> <body> <h1>サンプル - 別ドメインの外部URLからidやclassなど特定の箇所を抜き出しサイトに表示する方法</h1> <div id="container"></div> <div id="header"></div> <div id="stock"></div> <button onclick="ajaxr('http://www.scenicbyway.jp/sv/jp/?graph')">test</button> </body> </html>