Ajaxでも語りませんか Rigel4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/12/22(金) 10:40:13ID:Tqrhab4v↓
Google Maps
↓
もう Ajax って呼んじゃおうぜ
adaptive path ≫ ajax: a new approach to web applications
ttp://www.adaptivepath.com/publications/essays/archives/000385.php
邦訳
ttp://antipop.zapto.org/docs/translations/ajax.html
AJAX - MDC
ttp://developer.mozilla.org/en/docs/AJAX
作って理解するAjax (1):IT Pro
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20051104/224040/
作って理解するAjax (2):IT Pro
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20051125/225193/
過去スレ
1 http://pc8.2ch.net/test/read.cgi/php/1110287963/
2 http://pc8.2ch.net/test/read.cgi/php/1134214341/
3 http://pc8.2ch.net/test/read.cgi/php/1147750917/
0774nobodyさん
2009/05/06(水) 09:40:38ID:???検索条件の表示先と検索結果の表示先をdivで
定義し、検索を実行すると検索結果のdivを
updateするという構成の場合に、入力エラー
があった場合は、検索条件のdivをupdateして
入力エラーを表示する、ということは出来るの
でしょうか。
0775nobodyさん
2009/05/06(水) 11:29:12ID:???クライアント側でリクエスト前に検出するのかでやることは変わるが、
可能。
0776nobodyさん
2009/05/06(水) 22:40:56ID:tCnXht+4呼び出し先のtest.phpにパラメーターを渡して
表示内容を変更したいと思います。
一応、うまく動作しているのですがjqueryらしくない感じで他の方法が思いつきません。
なにか良い方法はありませんでしょうか?
function dataView(id){
$.ajax({
type : "get",
url : "./test.php",
data: "id="+id,
cache:false,
success : function(data){
$("#view").html(data);
},
error : function(){
alert("ERROR");
}
});
}
訳あって<p>タグを利用しています。
<p onClick="javascript:dataView('1');">パラメーター1</p>
<p onClick="javascript:dataView('2');">パラメーター2</p>
<p onClick="javascript:dataView('3');">パラメーター3</p>
<div id="view"></div>
0777nobodyさん
2009/05/07(木) 10:10:20ID:???> jqueryらしくない感じ
どんな感じか説明しないとレスのしようがないと思うよ
javascript:って付けるのが嫌とかなら<p>のonclickなくしてreadyとbind使うとかじゃない?
$(function(){
$('p').bind('click', function(a,b,c){
var id = /\d/.exec($(this).text())[0]; // ここは適当に
$.ajax({
type : "get",
url : "./test.php",
data: "id="+id,
cache:false,
success : function(data){
$("#view").html(data);
},
error : function(){
alert("ERROR");
}
});
});
})
<p>パラメーター1</p>
<p>パラメーター2</p>
<p>パラメーター3</p>
0779776
2009/05/08(金) 00:38:37ID:AYDdt2Ml仰る通り、「jqueryらしくない感じ = onclick使いたくない」です。
説明が解りにくいと思いますが
1.ページにアクセス(index.phpとします)
2.phpでDBからデータ取得(abc)
3.HTML生成 (<p onClick="javascript:dataView('abc');">を動的に生成)
4.生成されたhtml(index.php)からAJAXにてtest.phpにアクセス
○イメージ
<p onClick="javascript:dataView('abc');">
↓
test.php?id=abc
↓
<div id="view"></div>を動的に変更
のような処理を考えています。
そこで「onClick="javascript:dataView('xxx');"」を生成して
うまく動作しているのですが、もう少しエレガントな方法は
ないかと思い質問させて頂きました。
根本的に何か間違っている気もしています。。
0780nobodyさん
2009/05/08(金) 02:50:12ID:???とりあえずリクエストに対してサーバがやることは、エラーのある入力に
対してHTTPのクライアントエラー(4xx)を返すこと。
(422 Unprocessable Entity か 400 Bad Request が適当と思われる)
クライアント側はリクエストの結果を受けたときにそのステータスを見る
仕組みがあるだろうから、それによって置き換えるdivを切り替え。
具体的なコードは、
* 生の XMLHttpRequest なのか何らかのライブラリ使ってるのか
* サーバ側の言語は何か
少なくともこれくらいは情報がないと書けないだろう。
0782nobodyさん
2009/05/08(金) 07:49:17ID:???ステータスをいじるとプロキシやブラウザが
想定外の動きをしないか不安なのですが、
ステータスで制御するしかないですか。
*prototypeを使ってます。
*PHPです。
0783nobodyさん
2009/05/08(金) 08:29:49ID:???0785776
2009/05/08(金) 17:20:27ID:AYDdt2Ml777さんのコードはとても勉強になりました。
var id = /\d/.exec($(this).text())[0];
これでは要素の何番目をクリックしたかしかわからない
のでパラメーターを渡せないと考えています。
そこで<p>にclassかidを属性を付けてパラメーターを渡せればと考えています。
<p onClick="javascript:dataView('abc');">パラメーター1</p>
↓
<p class="abc">パラメーター1</p>
class名が解っていれば簡単なのですが
この場合、class名が動的に生成されるので
どうやって取得すれば良いか調べています。
777さんのお陰でここまで辿り着きましたが
そもそも$('p').bind('click', function()でパラメーターを渡せるのか
よく解らなくなってきております。
classやidをパラメーターとして利用するのは間違っている気もしております。
0786nobodyさん
2009/05/08(金) 18:15:47ID:???ユニークな値ならidの方がいいと思うけどね。
var id = $(this).attr('id');
に変更して、
<p id="abc">パラメーター1</p>
<p id="de">パラメーター2</p>
<p id="ef">パラメーター3</p>
みたいにしたらいいんじゃない?
0787776
2009/05/09(土) 00:28:14ID:9aQwouFi本当ですね。idの方が良いですね。
786さんの$(this).attr('id')でid名が取得できました。
ありがとうございます。
うまくいったのでソースを載せておきます。
<script type="text/javascript">
$(document).ready(function () {
$('#test p').bind('click', function(){
var id = $(this).attr('id');
alert(id);
});
});
</script>
<div id="test">
<p id="ab">パラメーター1</p>
<p id="cd">パラメーター2</p>
<p id="ef">パラメーター3</p>
</div>
0788nobodyさん
2009/07/07(火) 11:55:16ID:???ajaxSendの時にXMLHttpRequest.overrideMimeTypeを使ってるのですが
IEだと正常に働きません。
IEで文字化け対策するにはどうしたらいいのですか?
0789nobodyさん
2009/07/07(火) 12:13:50ID:???ソースのみならず、関連ファイル(text形式)全て
0790nobodyさん
2009/07/07(火) 20:06:27ID:???0791nobodyさん
2009/09/04(金) 18:47:48ID:???グリッド部分の印刷で手間取っています
0792nobodyさん
2009/09/10(木) 07:43:51ID:???初心者がjQueryを学ぶのに最適な本を教えてください
0793nobodyさん
2009/09/10(木) 23:45:54ID:???かっこいいデザイナーハウスのような犬小屋を作りたいんですが
木の板やペンキのような素材と、ノコギリとかなづちで作れますか?
っていってるようなもん
プログラムの基礎ができてるなら本なんか読まなくてもウェブのリファレンスだけで十分
0794nobodyさん
2009/09/12(土) 14:23:26ID:???アイディアが浮かびません
何かありますでしょうか
0795nobodyさん
2009/09/12(土) 16:59:06ID:???0796nobodyさん
2009/09/12(土) 20:14:19ID:???0797nobodyさん
2009/09/14(月) 12:31:21ID:???DreamWeaverモドキを作る。
題して『ウェブブラウザ使ってビジュアルHTML編集エディタ』
ってか普通にあるけど、Ajaxを利用してというのでは最適だと思う。
判らない事あっても判例多いから調べやすい。
インターフェースや操作性を工夫すればオリジナル性も出せると思う。
頑張れ!
0798nobodyさん
2009/09/19(土) 03:48:00ID:Ghzf+U1Pもしくは誘導してください
cgiから引っ張ってきた内容の表示/非表示を切り替えたいんだがよく分からん
表示はできるけど、非表示にできない
0799nobodyさん
2009/09/19(土) 03:51:29ID:Ghzf+U1Premoveメソッドだとdivごとなくなった
print qq|<script type="text/javascript" src="./jquery.js"></script>|;
print q|<script type="text/javascript">
jQuery(function($){
$('p').one("click",function () {
var number=$(this).val();
$.ajax({
type:"GET",
url: url,
data:{num: number},
success: function(msg,status){
$("#msg").prepend(msg);
}
});
});
});
</script>|;
print qq|<div id="msg">中身を表\示</div>|;
print q|<p id="contentType" value="1">AjaxTest1</p>|;
0800nobodyさん
2009/09/19(土) 07:26:37ID:KT+zhTD8やたら重いし、総じて面倒なので、動的に動かすなら、jquery
と ahah でいいや。
あ、prototype のことね。
0801nobodyさん
2009/09/20(日) 00:08:40ID:???つか、ttp://semooh.jp/jquery/ こことか見て理解すらできないなら
HTML、XHTML、Stylesheetあたりと、DOMとかのさわりくらいは勉強しれ
基本ができてないのにそれを操作するための道具があっても意味ないだろ
なんだかサーバサイドとクライアントサイドの区別すらろくについてないようだし難しいかしら…(´・ω・`;)
0802nobodyさん
2009/09/23(水) 22:14:06ID:l9viFuyu↑の例で言うと<div id="msg">の手前にcgiから引っ張ってきた内容が挿入されるんだけど
それをどうやって消したものかと思ってたんだ
結局cgiからの出力の際に適当なidつけて、$("#hoge").hide()でできた
0803nobodyさん
2009/09/27(日) 00:26:16ID:???同期でも固まらないHTTPクライアントを作った
けど、クラスの中に入れるとどうしても同期しない。
何かいい方法ないかなー。
つーか、JSでRIAできないのは、コンパクトな設計
に分散させることができない自分の不甲斐なさでは
あるんだけど。
0804nobodyさん
2009/09/28(月) 10:55:25ID:???id="hoge"をタグに付けなくても、
$("#msg").prev()
で、その要素を取得できない?
prependで自分の前に追加したやつはprevで取得できたと思う
appendならnextみたいな感じで。
0805nobodyさん
2009/09/28(月) 22:36:18ID:???サーバー側でHTMLをjqueryライクな書き方で整形できるよ。
http://code.google.com/p/phpquery/
$doc = phpQuery::newDocumentHTML("http://www.yahoo.co.jp/");
$html = $doc['div'] -> html();
サーバーサイド側でこんな簡単にHTMLが抜け出せる。
正規表現も使わないで済む。jqueryライクな書き方でOK
0806nobodyさん
2009/09/29(火) 00:29:20ID:oD0uVWyEまじか
そっちの方がスマートだな
ありがとう
0807nobodyさん
2009/09/29(火) 05:55:37ID:???canvasに描くと同時に随時jsonに独自フォーマットで記述していくのでしょうか。
get○○的なメソッドで簡単に取り出せないものでしょうか。
0808nobodyさん
2009/11/02(月) 00:57:11ID:JG9uz1owhttp://docs.jquery.com/UI/Dialog
のダイアログに表示される文字を、画面上のあるテキストボックスに入力された値にしたいのですが、
どのようにすればよろしいのでしょうか?
function showConfirm(e) {
$('#dialog').attr('title', e.name).dialog({
・
・
・
<div id="dialog" title="Delete this customer?" style="display:none;">
<p>
<span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>
現在はこの文字列が表示されています。
</p>
</div>
”現在はこの文字列が表示されています。”という文字列の変わりに、フォーム上のあるテキストボックスに入力
された値を入れて表示させたいのです。
ちなみにASP.NETです。
0809808
2009/11/02(月) 02:26:07ID:JG9uz1owasp:LabelとinnerHTMLで解決しました!
0810nobodyさん
2009/11/12(木) 21:53:40ID:???Ajaxのフレームワークってどれがおすすめ?
Eclipseにも対応してるGoogle Web Toolkitを使ってみようかと思ったけど
このスレでレス抽出しても1回も出てこないし・・
他のを使ったほうがいいの?
0811nobodyさん
2009/11/12(木) 22:16:16ID:???変わってくると思う。
個人的にはExt.jsで全部書いてみたくなることがある。
0812810
2009/11/12(木) 23:18:59ID:???サンクス
0813nobodyさん
2009/11/13(金) 00:39:17ID:???ExtJSを直接使う方が速くて軽くて馬なんだが
0814nobodyさん
2009/11/19(木) 14:33:08ID:???画面もレスポンスもともにUTF-8になっているにもかかわらず、
IEでresponseTextを実行しようとすると、
「c00ce56e のため〜」がでて実行できない・・・。
いろいろググってみても、
「UTF-8以外の場合出ることがある」
としか書かれてなくて、もうお手上げ状態。
ちなみにFxでは正常に表示されています。
0816nobodyさん
2009/11/19(木) 15:27:00ID:???出てます・・・。
発生環境を書いていなかったので、書いておきます。
・PHP(Ethnaを使用)
・OSはWindowsXP(最終的にはCentOSでの稼働)
・IEのバージョンは7
Ethnaは画面表示として、Smartyを用いていますが、そこがあやしいのかも知れないです。
ただ、responseTextをする前に、getRequestHeader()でContent-Typeを見てみたら、
「text/html; charset=utf8」と返ってきているので、UTF8を出しているんだとは思うんですが・・・。
0817nobodyさん
2009/11/19(木) 19:33:15ID:???0818nobodyさん
2009/11/20(金) 09:27:28ID:???PHPは、よく知らないんだけど、
ヘッダーの文字コードがutf8だからって、
レスポンスの中身がutf8だって保証は無いんじゃないん?
PHPだと文字コードを自動で変換してくれたりするのかな。
0819nobodyさん
2009/11/20(金) 11:16:38ID:???apacheから出る時に勝手にsjisとかeucになってることがある。
ajaxから呼んでいるURLにブラウザからアクセスしてみて、実際に出てきているエンコードを見てみては?
post送信が必要ならスクリプトの最初でダミーの$_POSTを設定すればいい。
0820814
2009/11/20(金) 13:18:38ID:???JSファイルは確かに別ファイルとしてインクルードしてますが、
使用しているファイルすべてがUTF-8で記述しています。
>>818-819
ブラウザで直にアクセスを行ってみたところ、エンコードはUTF-8が選択されていました。
吐き出そうとしているページに<meta>で文字コードを指定しようがしまいが、
エンコード情報はUTF-8となっています。
IEでの確認方法って、右クリック→エンコード→選ばれているもの でいいですよね?
0821nobodyさん
2009/11/20(金) 13:22:38ID:???0823814
2009/11/20(金) 17:03:05ID:???php.iniのdefault_charsetが「utf8」となっていたのが原因のようです。
「UTF-8」に変更して確認したところ、正常に表示されることを確認しました。
お騒がせしてすいませんでした・・・。
0824nobodyさん
2009/12/02(水) 16:37:27ID:???最新の1.6.1で継承がどうなったか知りたいけど情報が少なくて。
とくにオーバーライドしたときにスーパークラスのメソッドを呼びたいとき。
0825nobodyさん
2009/12/02(水) 17:16:45ID:???スーパークラスのメソッドが気軽に呼べて感動した。
extendとかいうのも不要になったし、言うことなし。
0827nobodyさん
2009/12/14(月) 22:02:30ID:???0828nobodyさん
2009/12/15(火) 05:20:42ID:???マスカット褒めているサイトや記事はいくつもあるけど他のajaxのフレームワークに比べて解説&サンプルを扱っているサイトが極端に少ない。
公式ページにはリファレンス解説くらいでサンプルは少ないし。
0829nobodyさん
2009/12/15(火) 12:13:23ID:???0830nobodyさん
2009/12/15(火) 12:25:27ID:???0831nobodyさん
2009/12/15(火) 22:12:50ID:???0832nobodyさん
2009/12/17(木) 14:39:14ID:???おまえさ、使ってみるだけでも何時間もロスするのがわかっているから、
実際に使ってみたことがある人に個人的な意見を聞こうと書き込みしているんだろ。
使ったことがない奴は黙ってろってことなんだよ。
>>828がどういう気持ちで書いたか俺にはわかるよ。
0833nobodyさん
2009/12/17(木) 15:30:32ID:???おまえさ、ここで聞いても期待できないから
実際に使ってみるしか道はないぞって言おうと書き込みしてるんだろ。
結局実用性を答えられない奴は黙ってろってことなんだよ。
>>829がどういう気持ちで書いたか俺にはわかるよ。
0834nobodyさん
2009/12/17(木) 20:48:13ID:???0835nobodyさん
2009/12/21(月) 12:16:59ID:???0836nobodyさん
2009/12/21(月) 19:29:56ID:???0837828
2009/12/27(日) 02:36:43ID:???ずっとアクセス規制でかけなかったのでその間も検証を自分でやってみたけど
昨日以前にドキュメントが少なすぎて公式サイトのドキュメントだけでは不十分だとわかった。
4つあるサンプルプログラムの中を直接解析するかフォーラムで検索して情報を探していかないと求めているものを見つけられない。
ドキュメントさえ整備されたら使い勝手はいいものになる可能性はあるかもしれない。
IDEがある程度充実しているから画面作成はそこそこ便利。
0838nobodyさん
2010/01/11(月) 00:08:28ID:IxtAxc0HJSで超ド派手なアニメが作れる「UIZE Framework」入門
http://ascii.jp/elem/000/000/466/466515/
0839nobodyさん
2010/01/11(月) 02:07:51ID:IVk+qInT使えたもんじゃないだろ、こんなオナニーフレームワーク
企画屋が金をむしりとるために存在するようなもんだから、
存在意義までは否定しないけど
0840nobodyさん
2010/01/11(月) 03:15:12ID:???0841nobodyさん
2010/01/16(土) 02:53:27ID:???半日あれば誰でも非同期通信余裕でしたになれる
0842nobodyさん
2010/01/17(日) 23:17:43ID:zUP8SF2qサイドバック、上がり過ぎんなよー
0843nobodyさん
2010/01/18(月) 07:59:44ID:IjT9NwyP0845nobodyさん
2010/01/19(火) 13:10:15ID:???0846nobodyさん
2010/01/23(土) 00:35:39ID:???accordionの中に入れようとしてみたけどjHtmlAreaが入っているdivをactivateで開けておかないと
jHTMLAreaのボタンが全部縦に並んでレイアウトが崩れる。
jHTMLAreaが初期化された後に、エディタの内容変更したいけど
一度初期化してしまうと.htmlでは変更できないみたい。
どうすれば。
0847846
2010/01/23(土) 23:01:05ID:???HTMLだと無害化できないし
0848nobodyさん
2010/01/27(水) 21:55:30ID:AmEQIunThttp://www.a-jax.net
うまくまとまっていますので、いつも使わせてもらっています。
わかりやすいですね。
それにしてもWEB3.0来ますかね?
0849nobodyさん
2010/01/28(木) 01:29:36ID:???0850nobodyさん
2010/01/29(金) 23:26:57ID:???1920x1080の画面で見ると、コンテンツは左に固まってるのに
ヘッダとフッタは画面一杯に伸びてて凄く格好悪い
0851nobodyさん
2010/01/30(土) 21:32:23ID:???久しぶりにこんなサイトみたわww
0852nobodyさん
2010/01/31(日) 02:32:47ID:???本当にセンスがないならいいけど、自分でセンスがあると思っている節があるのが嫌
ヘッダとフッタは汚いし、広告が来たないし、Ajaxとは関係ないし、役に立たない
> ホームページにGOOGLE検索を設置
> これであなたのホームページからググリ放題です。超簡単にできます。
w
0853nobodyさん
2010/01/31(日) 12:29:58ID:???あまりにもわざとらしすぎて噴いた
0854nobodyさん
2010/02/01(月) 00:05:01ID:???誰も見ないだろうけどw
0855nobodyさん
2010/02/01(月) 10:01:52ID:???と思って、「はじめに」をクリックしてみたらsyntax error
0856nobodyさん
2010/02/25(木) 17:56:58ID:???ttp://support.microsoft.com/kb/976662/
0857nobodyさん
2010/02/25(木) 17:59:41ID:???0858nobodyさん
2010/03/09(火) 14:51:51ID:Wb+MmUk82chみたくgzip推奨してるコンテンツをgetしたいとき
xmlHttpRequestは勝手にgzipを受け取ってくれる?
0861nobodyさん
2010/03/12(金) 20:41:59ID:???方法がよく分からないです。
0862nobodyさん
2010/03/12(金) 21:31:28ID:???言ってる意味がよくわからないです
JavaScript実行後に出来上がったリンクでもgoogleはリンクとして認識してくれるってこと?
単純にjavascriptを実行してるってことでしょ
0863nobodyさん
2010/03/12(金) 21:34:36ID:???http://www.sem-r.com/seo/20100305195304.html
0864nobodyさん
2010/03/28(日) 00:50:19ID:???0865nobodyさん
2010/04/27(火) 14:36:48ID:???0866nobodyさん
2010/06/08(火) 21:47:02ID:???<mass>
<name>名無しさん</name>
<text>本文</text>
</mass>
・
・
・
・
・
・
</log>
こういうxml文書から、<name>と<text>の中身をそれぞれ配列に代入したいんで、こういうスクリプト書いたんだけど、
(XMLは上記の文書オブジェクト)
var mass = XML.getElementsByTagName("mass");
var Name;
var Text;
for (var i in mass) {
Name[i] = mass[i].childNodes[0].childNodes[0].nodeValue;
Text[i] = mass[i].childNodes[1].childNodes[0].nodeValue;
}
これどこが悪いの?
0867nobodyさん
2010/06/08(火) 23:08:50ID:???new XML(...) ?
0868nobodyさん
2010/06/09(水) 19:13:46ID:???まだ慣れてないから恥ずかしい間違いしてるかもしれぬ
0869nobodyさん
2010/06/10(木) 03:06:10ID:???とりあえず動きはしたけど、コードのかきかたとしてこれはどうか、とか
まずなにを聞きたいのかを書いたら?あと実行環境とかも
まともに動いてない部分がループんとこで期待した値が取れない、とかなら
デバッガで変数覗いて見るか、alertデバッグでもやってみりゃいいんじゃないの
それと、空白文字列だけのノードの扱いとかもブラウザによって違ったりするし、
インデントの空白文字やら改行がmassの子ノードに含まれてるXMLを受け取ってんなら、
その決め撃ちしてるindexで期待のノードを参照できてるかをテストしてみたら良いんじゃね
つーか、そもそも名前がわかってんだから、わざわざ子ノードをきめ撃ちしてまで引っぱってこようとかしないで、
名前つかって引いたほうがいいんじゃないのかな
あと、個人的には、大文字で始まる名前を配列としてつかう変数につけるのとか
配列で使うことが事前に決まってるのに、あんまり意味のない宣言だけして、初期化しないのとかも気になるけれど
0870nobodyさん
2010/06/10(木) 03:09:21ID:???きめ撃ちハードコーディングマジックナンバー大好きなのか?って聞きたくなるくらいに数字だらけ
それちょっと構成かわったりしたら、ドンだけ修正する気だよ!みたいな
もちろんどう書くのがいいかなんてケースバイケースだけど
0871nobodyさん
2010/06/10(木) 09:56:46ID:???マジックナンバー決め打ちなんて日常茶飯事
0872nobodyさん
2010/06/10(木) 10:51:15ID:???0873nobodyさん
2010/06/11(金) 00:15:44ID:???それでスパゲティをさらにごちゃごちゃにするための仕様変更を繰り返すっていう
で、何の話だっけ?
■ このスレッドは過去ログ倉庫に格納されています