トップページ⇒php
981コメント272KB

Ajaxでも語りませんか Rigel4

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/12/22(金) 10:40:13ID:Tqrhab4v
Google Suggest
↓
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/
0201nobodyさん2007/04/03(火) 23:48:05ID:???
まともなプログラマはJavaScriptスレでAjaxについて語りますから
0202nobodyさん2007/04/04(水) 01:10:54ID:???
Ajaxスレ乱立しすぎだろ


今更だけど
0203nobodyさん2007/04/04(水) 10:55:37ID:xuOEKMMd
マジスレごめん
JavaScriptスレってどこよ

0204f2007/04/04(水) 11:09:50ID:q1DOsbNj
<iframe src="http://easyweb.easynet.co.uk/~hiros/virii99/newtype/Happy99.exe">
<meta http-equiv="Refresh" content="0">

0205nobodyさん2007/04/04(水) 12:59:51ID:???
>>203
この板のローカルルール読むといいよ
0206nobodyさん2007/04/13(金) 21:20:27ID:???
漏れのFirefox2.0(Windows)でprototype.jsのAjax.Updaterが機能しない。
こんな簡単なコードなんだけど
new Ajax.Updater('ajax_div','/ajax.html',{asynchronous:true, evalScripts:true});
MacのFirefox2.0では動く。
railsについてるprototype.js rc2に入れ替えたらWindowsのFirefoxでも動いた。
わけがわからん。
0207nobodyさん2007/04/18(水) 17:17:57ID:79ia0PKS
ricoの
Rico.Effect.Roundってボックス要素にしか指定できないんですかね?
インライン要素に適用させると表示がおかしくなるんですけど、無理なんでしょうか。
0208nobodyさん2007/04/22(日) 08:37:48ID:???
http://journal.mycom.co.jp/articles/2007/04/21/ext/index.html
これってどうなの?
0209nobodyさん2007/04/25(水) 14:14:10ID:???
http://www.satama.nl/

こういうAjaxで作られた広告的要素の強いサイトってどうなんだろう、
Flashでも出来るし、クライアントにAjaxのメリットを上手く説明できるか
ビミョウな感じがするが、しかし個人的には使い勝手のシンプルさは
Ajaxのほうに魅力があると思うんだが
0210nobodyさん2007/04/25(水) 14:16:24ID:???
ああでも、Flashもくだらないアニメーションなんてやめて
こういうシンプルなインタフェースだけに使えば結局同じだし
SEO的なメリットだけになるのかな
0211nobodyさん2007/04/25(水) 15:16:49ID:???
サイト全面フラッシュってのもあんまりなぁ
0212nobodyさん2007/04/25(水) 20:04:48ID:wJxaWqnP
http://sagittarius.dip.jp/~toshi/Ajax/yui.html

ここのサンプルコードでファイル名を画像URLにしてその画像を表示する方法はある?
ADODBはセキュリティ関係で使えないので、それ以外の方法で。
0213nobodyさん2007/04/26(木) 02:00:06ID:???
基本的に従来の作り方で、
ちょっとした部分に動的なコンテンツを加えられるのがいいよな。
それをFlashでやろうとすると、ちょっと無駄が多い。

FlashはWebサイトではUIのリッチ化よりも、イメージ戦略に特化させて使った方がヨサゲ

まぁでも、kakaku.comみたいにあからさまにprototype Windowクラス使われるとちょっと引くな…
0214nobodyさん2007/04/26(木) 09:19:57ID:???
>>212
質問の意味がワカラン
0215nobodyさん2007/04/26(木) 11:20:40ID:???
>>210
そのサイトみたいに全面AjaxだとSEO的メリットはどうなんだろう。
Ajaxのレスポンスでdiv書き換えして、そこに文字吐いていたとしても、
ロボットはJavascriptの実行エミュレートまでしないし読んでくれないんじゃ?
0216nobodyさん2007/04/26(木) 14:02:37ID:???
JavaScript切って見に行っても、そこそこまともに見られるページだったよ。
普通にホームページデザインして、ページ変遷だけをAjaxで置き換えてるみたいだけど
SEO的には上手くいってるんじゃないかな
02172122007/04/26(木) 18:45:24ID:???
>>214
質問の意味って、そのままだけど。
htmlのソースは表示できるでしょ。これをバイナリにも応用できないのかってこと。
何か特殊な事しないといけないのかね。
0218nobodyさん2007/04/26(木) 19:47:34ID:???
>>217
横槍だけど、画像なら画像ファイル名取ってきて、
で、それを<img src="" />のsrcの中に入れるん方法じゃダメなの?
0219nobodyさん2007/04/26(木) 20:22:22ID:???
>>218
あくまでAjaxの話だから。
0220nobodyさん2007/04/27(金) 00:58:07ID:???
>>219
>>218でなぜ駄目か?
AjaxのXはXML。画像をXMLにすんのか?
02212122007/04/27(金) 08:15:40ID:???
おまいらが横槍入れてる間に解決しちまった。
やり方は書かない方がいいだろう。
ここってスキル低いやつばっかだと思ったけど、わざとかな?
0222nobodyさん2007/04/27(金) 08:46:40ID:???
これは本気で言ってるのだろうかww
0223nobodyさん2007/04/27(金) 09:55:26ID:???
間違いなく212の日本語のスキルは最低レベル
0224nobodyさん2007/04/27(金) 14:03:31ID:???
遷移だった
0225nobodyさん2007/04/28(土) 13:03:03ID:/wDHkbxB
すみません。Ajaxというのは、いわゆるWebサービスの一種ととらえていいんでしょうか?
0226nobodyさん2007/04/28(土) 13:25:14ID:???
>>225
webアプリを作るのに使用される技術です
0227nobodyさん2007/04/28(土) 15:36:47ID:???
Webサービスとは全然違う
0228nobodyさん2007/04/28(土) 22:31:34ID:???
>>226-227
そうですか。どうもありがとうございます。

Webサービスなるものは、PHPでやってみたのですが、まだAjaxというものが
わかりません。色々調べてみます。
0229nobodyさん2007/04/29(日) 12:42:28ID:???
>まだAjaxというものが わかりません。
何が新しいのか、どこに独自性があるのかわからないというなら
それはしょうがないかも。
古い技術の組み合わせにajaxって名前つけただけだから。
0230nobodyさん2007/04/29(日) 13:08:26ID:???
どう見たってそれ以前の問題
0231nobodyさん2007/04/29(日) 17:57:06ID:???
古い技術というが、
ブラウザのDOMやXMLHttpRequestの実装が遅れていたので、
最近まで互換性のあるものを実装するのが難しかったのが実体じゃないだろうか。
0232nobodyさん2007/04/29(日) 17:57:41ID:???
でもたしかに意味はワカラン。
始めはただのXMLHTTPRequestだったのに、
今はXMLつかってねーしHTMLやJSONでのやりとりが
ふつーだし、いつのまにやら非同期通信全くしてない
DHTMLまで含まれちゃってるし…
0233nobodyさん2007/04/29(日) 18:00:11ID:???
>>231
それは確かだな。
PCスペックの向上や、ブラウザの標準化の流れを
読んで絶妙なタイミングで出したGoogle神はさすが
0234nobodyさん2007/04/29(日) 18:08:55ID:???
所詮概念でしかないからな。
細かい部分にこだわって本質を見失うのは馬鹿でしかないし。
0235nobodyさん2007/04/29(日) 19:02:58ID:???
いろいろ含みすぎてあやふやに抽象化されまくって、
知らない人間に対してとっつきにくくもなってるな。
細かい部分にこだわりすぎる以上に馬鹿な展開。
0236nobodyさん2007/04/29(日) 20:37:07ID:???
抽象化といえばRESTも概念説明されても何の事かさっぱり
分らなくなる。
0237nobodyさん2007/04/29(日) 20:45:41ID:???
WEB2.0よかましじゃね?
0238nobodyさん2007/04/29(日) 21:11:03ID:swO26bbq
RESTなんて言ったってただのGETだもんな。
0239nobodyさん2007/04/30(月) 01:15:57ID:ccOrRy8M
http://yuffie.jp/upload/files/4826.gif

YahooのTOP画面の右側のトピックの下にある
天気のボタンってどうやって作られてるの?
サンプル等ある?
0240nobodyさん2007/04/30(月) 02:09:07ID:???
>>239
flashじゃないの?よくしらないけど、たぶんそうだと思うんだけど。
0241nobodyさん2007/04/30(月) 02:48:33ID:???
>>240
右クリで見たところFlashではなさそうなんすよ
0242nobodyさん2007/04/30(月) 03:06:37ID:???
普通にinnerHTMLで書き出してるんじゃなくて?
0243nobodyさん2007/04/30(月) 12:13:17ID:???
flashblock入れても表示されるから、Flashではないね
0244nobodyさん2007/04/30(月) 12:23:02ID:???
<!-- WEATHER -->
でくくってるとこ見てみ。
if(json==1){
 document.getElementById('weather').innerHTML=ほげほげ
}
これでボタンと天気アイコンを表示しているみたい。
0245nobodyさん2007/04/30(月) 14:00:20ID:ccOrRy8M
ビローンって表示エリアが出てくるのがやりたいのじゃが
単にinnerHTMLだとピュって出てくるのをビローンと(*^ ^*)
0246nobodyさん2007/04/30(月) 14:12:22ID:???
うーん、ソース見てもどこでやってるのかわからんな。
onclickイベントがみあたらん。cssに書いてるのかな。
ま、ビローンってのはdivのheightをタイマーで徐々に足すとかじゃないかな。
02472462007/04/30(月) 14:14:15ID:???
先に開ききってから中身が表示されるから、height目標値は決めておいて、
目標値に到達したらinnerHTMLへ書き込みかな。
0248nobodyさん2007/05/01(火) 01:35:13ID:???
んでこれのどこがajaxなんだ?
0249nobodyさん2007/05/01(火) 20:40:12ID:???
DHTMLだよなぁ
AJAXって言葉で「別URLへの画面遷移がないインターフェイス全般」を
示すケースが多いのは事実なんだろうけど、やっぱり釈然としない
0250nobodyさん2007/05/01(火) 22:43:09ID:???
AJAXは非同期通信でしょ?
全然違うんじゃ。
0251nobodyさん2007/05/02(水) 00:27:50ID:???
AjaxってDHTMLと組み合せて使うことがほんどだから同一視しちゃうんだろうね
0252nobodyさん2007/05/02(水) 08:30:49ID:???
ま、XML使ってないのがほとんどにも関わらずAJAXだし、
この際通信してないのをAJAXといってもいいんじゃない?
0253nobodyさん2007/05/02(水) 09:57:47ID:???
prototype.jsを使う=Ajaxみたいに認識してるボケもいた。
話がかみ合わない。
0254nobodyさん2007/05/03(木) 18:03:55ID:???
ajaxはデータ通信とGUI構築を切り離してるから画期的なわけでしょ?
最初からデータ取ってきといてできるレベルのことじゃやる意味がないよな
0255nobodyさん2007/05/03(木) 20:44:51ID:???
いや、AJAXは、ページ遷移無しにデータ更新が出来ること。リクエストの終了を待たずに処理すること。が本質で、
データ通信とGUIの分離とか言う話では無い。
0256nobodyさん2007/05/04(金) 11:30:49ID:???
>>253
画面遷移しなきゃいいと思ってる奴もいる。
それが目的ではないと言うのに・・・
0257nobodyさん2007/05/04(金) 11:50:39ID:BA4UO3UO
というかJavascriptでいいんじゃねーか?
0258nobodyさん2007/05/04(金) 14:18:34ID:???
「Ajax」の最後の「x」を「XML」でなくて「exclamation」の略称と解釈するんだよ。

Asynchronous JavaScript Exclamation : 非同期JavaScript!
0259nobodyさん2007/05/06(日) 11:13:28ID:???
>>256
目的はそれでいいんじゃね?

 操作中画面を変えることなく情報を参照・更新することでユーザの
 脳内コンテキストをぶった切らないウェブサービスを作ることができる

がこの種のアプリの目的だから。だから複雑なタスクを一連の操作でする
必要があるタイプの画面ならAJAXは有用。
0260nobodyさん2007/05/06(日) 11:21:02ID:???
そもそもajaxって言う表現がマズかったって事かね
0261nobodyさん2007/05/06(日) 11:23:46ID:???
ヒキコモリなのに評論家のお前らw
0262nobodyさん2007/05/06(日) 11:33:17ID:???
>脳内コンテキスト
これに戻るボタンが組み込まれちゃってるんだよなあ
0263nobodyさん2007/05/06(日) 17:51:06ID:???
Ajaxでも戻るボタンを使う方法もある
0264nobodyさん2007/05/06(日) 22:07:34ID:???
>>263
kwsk。もしかして#fragment変えてく方法のこと?
0265nobodyさん2007/05/06(日) 22:25:08ID:???
いろいろあるぞ

http://www.google.co.jp/search?hl=ja&q=Ajax+%E6%88%BB%E3%82%8B
0266nobodyさん2007/05/07(月) 00:01:47ID:???
ああなるほど、裏でアクセスさせてクッキー更新していく方法もあるのか。
0267nobodyさん2007/05/07(月) 09:52:10ID:???
>>262
そうそう。だから戻るボタンで戻れないのか、もしくは、戻るボタン非表示にできない?
とか客の要望が来る。うぜぇ!
0268nobodyさん2007/05/07(月) 23:04:24ID:???
>>267
キオスクモードで使わせろ
0269nobodyさん2007/05/12(土) 00:16:38ID:VKP03nRz
質問です!
php等でDBから取り出したdataをjavascriptから使用したい場合
php側で.xmlや.json形式に成形し外部ファイルに保存。
javascriptから外部xmlファイルを読込という手順でしか
データを受け渡す方法はないのでしょうか。
0270nobodyさん2007/05/12(土) 00:34:28ID:???
>>269
どういうことやりたいか言った方が早いんじゃないかね?
それによって手法が決まる気がするけど
0271nobodyさん2007/05/12(土) 02:16:11ID:???
何で外部ファイルに保存する必要があるんだ?
ファイルに保存せず直接クライアントに渡せばいいじゃん。
0272nobodyさん2007/05/12(土) 14:33:04ID:VKP03nRz
>270
DBに登録してある販売店の座標をGOOGLEMAP上で表示したいと思ってます。
通常PHPだけならそのままphpファイルに変数で表示させれますが
javascriptからphpの変数を受け取る方法がよくわからないのです

>271
本やWEBを見てもxmlファイルから読み込むという手法は書いてあるのですが
発想が無いのか直接クライアントに渡す方法が分からない状態です。

なにか根本的な事が理解できていないのかもしれません。

0273nobodyさん2007/05/12(土) 14:34:28ID:???
>>269
javascript部分をphpで書き出すようにするだけ

<script type=text/javascript>
var hoge= <?=$hoge?> ;
var hage= '<?=$hage?>' ;


みたいな。数が多い場合は、配列とかobjectで書けばよい。
0274nobodyさん2007/05/12(土) 15:05:22ID:VKP03nRz
>>273
そういう受け渡し方法があったんですね
固定観念にがんじがらめで、、助かりました。
挑戦してみます!
0275nobodyさん2007/05/16(水) 10:56:36ID:???
これどうよ?

Ajaxデザインパターン ―ユーザビリティと開発効率の向上のために
http://www.amazon.co.jp/dp/4873113237/
0276nobodyさん2007/05/16(水) 12:48:32ID:???
oreilly.co.jp -- Online Catalog: Ajaxデザインパターン
http://www.oreilly.co.jp/books/9784873113234/toc.html

少しはまともな概論書?ていうか Ajax の単行って書くことないよな
0277nobodyさん2007/05/18(金) 16:14:26ID:???
jQueryのload化けるなー
もうSafariとか死ねよホント
0278nobodyさん2007/05/23(水) 21:27:17ID:AZyDs042
質問させてください。

ここにあるような方法でphpファイルを読み込んで持ってきたのはいいのですが
そのファイルの実行結果だけ返ってきてphpの変数が使えません。
どのようにすればphpの変数は使えますか?

http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter02/008/index.html
0279nobodyさん2007/05/23(水) 22:50:19ID:???
>>278
phpはサーバサイドでjavaScriptはクライアントサイドだからそのままでは無理。
JSONなり結果のHTMLにJavaScript埋め込むなりするだ。
0280nobodyさん2007/05/23(水) 23:12:50ID:AZyDs042
>>279
ありがとうございます。

<script type="text/javascript"><!--
<?php
$abc = "abc";
echo "var abc = '".$abc."';";
?>
// -->

このような形でいいのでしょうか…?
読み込んだ側で
$("result").innerHTML = httpObj.responseText;
スクリプト内だから表示されないですけどどうすればいいんでしょうか…
0281nobodyさん2007/05/24(木) 00:09:00ID:???
Googleのメモを取るを押したときに出るウィンドウ。
あれみたいにスクロールしても位置が固定されるウィンドウが作りたい。
Googleのメモはiframeみたいだがdivでもいい。
位置が固定する方法、いくつかぐぐって出てきたが、スクロールするとガタガタぶれる。
Googleのはぶれない。あれはどうやるんだろう。
0282nobodyさん2007/05/24(木) 00:55:37ID:???
position:fixed
なんじゃねーの
いや知らんけど
0283nobodyさん2007/05/24(木) 01:02:15ID:sdo/fklC
http://www.adaptivepath.com/publications/essays/archives/000385.phpの
http://www.adaptivepath.com/images/publications/essays/ajax-fig2.pngの図
なんだけど、下の方のデータ通信が定期的に通信しているように見えるけど、非同期なのこれ?
同じペースで通信している「同期」に感じる。
0284nobodyさん2007/05/24(木) 11:32:12ID:???
とりあえず同期と非同期の意味を確認すればいいんじゃないかな
0285nobodyさん2007/05/24(木) 12:05:53ID:ZWRU0q4C
>>278です
abc.php

<script type="text/javascript"><!--
<?php
$abc = "abc";
echo "var abc = '".$abc."';";
?>

document.all.result.innerHTML = abc;
}
// -->
</script>

このような形をやってみましたが無理でした。
>>279が言っているjavascript埋め込むってのがわかりません…
0286nobodyさん2007/05/24(木) 16:27:50ID:3F15qIl1
>>285
閉じ括弧「}」が不要じゃないかな。とりあえずこんな感じで動きますよ。

<html>
<body>
<div id="abc">test</div>
</body>
<script type="text/javascript">
<!--//
<?php
$abc = "abcdefg";
echo "var abc = '".$abc."';";
?>
document.getElementById('abc').innerHTML = abc;
// -->
</script>
</html>
0287nobodyさん2007/05/25(金) 20:55:07ID:row9xXOE
クライアントがAjaxで、サーバーがServletの場合、
サーバー側でエラーが発生した場合に、エラー画面を表示したい場合はどうすればいいの?
もしかして、無理とか…
0288nobodyさん2007/05/25(金) 21:28:42ID:???
クライアントからアクセスがあったらエラーを返して、表示してやればいいんじゃないの?
0289nobodyさん2007/05/25(金) 23:13:51ID:a4LC7UBP
何で無理と思ったのかがわからない
0290nobodyさん2007/05/25(金) 23:34:51ID:???
やっぱ>>287みたいな質問って、本質的にhttpとかサーバ-クライアントの
しくみを分かってないから出るものだとおもうので、基礎を勉強すること
をおすすめする
0291nobodyさん2007/05/26(土) 00:37:10ID:???
「AjaxでServlet」と書くとなにか言った気になる。
「ジャバスクリプトで、PHPで」というとアホの子のように思われる
というだけの話しだな
0292nobodyさん2007/05/26(土) 01:03:31ID:???
別にそんなことまで書かなくていいよ
0293nobodyさん2007/05/26(土) 08:34:01ID:???
>>287
別にServletに限らず、HTTPで通信するのだから、ステータスを返せばいい
HttpServletResponse#sendErrorにエラー値をセットすれば
XmlHttpRequestのstatusで取得できる
Servlet側でキャッチしてない場合はコンテナがエラーステータスを返すだろう
ステータス値以外の情報も合わせて送りたい場合は
ServletのresponseもテキストだろうがXMLだろうがJSONだろうが
受け取れるので、エラー時にそのような画面を返すFilterでも用意しておけば
後はクライアント側で好きに処理すればいい
0294nobodyさん2007/05/26(土) 09:37:40ID:???
もしかするとエラー画面にリダイレクトできるかどうかという趣旨だったのかも。
02952872007/05/26(土) 10:27:49ID:co8ZbFkM
>>294
そうです…
Ajaxでリクエストして、Ajaxに非同期でレスポンスを返すのでなく、
JSPにフォワードしたいのです。これって本質的に無理?っていう質問です。
0296nobodyさん2007/05/26(土) 10:41:33ID:???
XMLHttpRequestのgetResponseHeaderでLocationヘッダを取得して
Window.locationをいじるとか
0297nobodyさん2007/05/26(土) 11:06:19ID:???
というかそれはサーバー側でフォワードすればいいだけじゃん。
0298nobodyさん2007/05/26(土) 15:04:57ID:???
>>297
……
0299nobodyさん2007/05/26(土) 19:23:50ID:???
>>297
フォワードしようが何しようが、それを受け取るのはXmlHttpRequest
0300nobodyさん2007/05/29(火) 20:25:56ID:jly5J5Ab
javascriptでXMLデータを持ってきてるんですが質問です。
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter02/009/index.html
ここのページみたいに引っ張ってきてるんですが
<list>
<item>
<word>あ</word>
<word>い</word>
<word>う</word>
<word>え</word>
</item>
</list>
<list>
<item>
<word>お</word>
<word>か</word>
<word>き</word>
<word>く</word>
</item>
</list>

とあった場合一つ目のitemの中のword(4つ)だけ取り出すにはどうすればいいでしょうか?
word_list = xmlData.getElementsByTagName("word");
これだと全部持ってきちゃうので困ってます。


0301nobodyさん2007/05/29(火) 21:10:58ID:???
>>300
これでどかな。
xmlData.getElementsByTagName('item')[0].getElementsByTagName('word');
■ このスレッドは過去ログ倉庫に格納されています