トップページ⇒php
1001コメント250KB

Ajaxでも語りませんか2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/12/10(土) 20:32:21ID:NtNGrO6K
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/
01531442006/01/23(月) 19:54:26ID:???
>>152
データを出力する、サーバサイドのこともあるけどね。
JSON よりも XML が有利な理由はまぁわかるんだけど、
XML よりも JSON が有利な理由ってのがよくわからない。
0154nobodyさん2006/01/23(月) 20:25:05ID:???
>>153
JSON を汎用的に使うことを考えちゃだめだよ。
あれは JavaScript で手軽に扱えるのが最大の利点なんだから。
     ~~~~~~~~~~~~~
0155nobodyさん2006/01/23(月) 23:23:37ID:2DxHZ+tm
だからーwebサービスみたいな公開するようなインターフェイスじゃなくて、
サーバとjavascriptで閉じたデータのやりとりするのに、JSONが効率
よい、というだけの話です。
0156nobodyさん2006/01/23(月) 23:44:48ID:???
んだ。

XML は各種言語用にライブラリがあることでもあるし、
きちんとしたプロトコルとして用意するなら、XML の方が良い。

だけど、うちわだけで使うようなら、JSON の方がお手軽。
なんせ JavaScript 使いに馴染み易いから。

例えば、サーバからのレスポンス
    <characters>
      <character><name>山田犬郎</name><age> 8 </age></character>
    </characters>
を
    chars = req.responseXML.documentElement;
    chars.getElementsByTagName('character').item(0).getElementsByTagName('name').item(0).firstChild.data
ってアクセスするよりも、

↓こんなレスポンスにしてしまって、
    {characters:[{character:{name: '山田犬郎', age: 8 }}]}
これを
    chars = eval(↑の文字列);
    chars[0].character.name
ってアクセスできた方が嬉しくない?
0157+++2006/01/24(火) 01:28:56ID:???
JSONは面白そうだね。うん。
あー、IntelはXML処理命令をCPUに組み込む予定があるんだって。いつになるか知らんが。
・・なんかずれた話だけど。
0158nobodyさん2006/01/24(火) 04:40:10ID:???
>>154
JSONは言語を限定しないデータ形式だよ。
0159nobodyさん2006/01/24(火) 04:41:53ID:???
つかJSONをAjaxで使う利点の一つに、クロスドメインAjaxがあると思うんだが。
0160nobodyさん2006/01/24(火) 05:01:23ID:???
>>159
なんのメリットがあるの?
あんまり実装みたいけど
0161nobodyさん2006/01/24(火) 10:10:08ID:???
>>159
クロスドメイン Ajax って、
ドメイン X からダウンロードした HTML を介して
ドメイン Y にアクセスすることだっけ?

IE && ローカル固定じゃないとダメじゃなかったっけ?
いずれにしても、そのシチュエーションでの JSON の利点に興味あるなぁ。
0162nobodyさん2006/01/24(火) 10:35:22ID:???
>>158
データ構造に関しては、その通りだね(実際、各種言語向けに API
の実装がある)。

158 は JavaScript で扱う場合にデータを取り扱うための API を
省略できる分、より便利だ、という意味でした。
0163nobodyさん2006/01/24(火) 14:11:25ID:???
各言語のライブラリなんかは流行り始めれば
すぐ揃うだろうからあんまり心配してないけどね

個人的にはXMLって凄く見づらいし
ソースもきたねーからキライ

JSON流行らんかなー
0164nobodyさん2006/01/24(火) 14:19:59ID:???
PHP-DEVでは、今年に入ってからJSONパーサが組み込まれる方向で議論が進んでる。
0165nobodyさん2006/01/24(火) 15:11:02ID:???
JASON objectってfunctionも入れられるのね
ちょっとすごくない?
ttp://jsgt.org/ajax/ref/test/json/test1.htm
ttp://jsgt.org/ajax/ref/test/json/test2.htm
0166nobodyさん2006/01/24(火) 15:21:13ID:???
>>165
だから Ajax 使ってる人間にはとっくの昔に浸透してると思ってたんだけど、
よく考えたらここは WebPro(ry
0167nobodyさん2006/01/24(火) 15:22:10ID:???
>>165
コードが入ってきたら JSON じゃなくてただの JavaScript だろ
0168nobodyさん2006/01/24(火) 15:42:53ID:???
>>165
JASONでなくて単なるJavaScriptの仕様なんじゃないの?
0169nobodyさん2006/01/24(火) 16:11:56ID:???
>>165
JavaScript <-> JavaScript な環境の間でやりとりするなら関数を
入れられるのは嬉しいかもしれないけど、片方(例えばサーバ側)が
Perl で実装されてるとなると、わざわざ JavaScript の関数を
Perl 側に持っていく必要性が見えない…。

というか、>>165 のリンク先の人が JSON の仕様を拡大解釈してい
る線が濃厚なんですが。
0170nobodyさん2006/01/24(火) 16:38:36ID:???
>>169
JavaScript Object Notation なのに、JavaScript におけるオブジェクトが
表現できないとなると、それこそ無意味でしょ。

そもそも JSON って、サーバサイドから JavaScript に送られた文字列を
eval するだけで実体化できるのがメリットだから、関数が含められない
ようじゃ使い物にならないよ。

PHP や Java のメソッドを JavaScript の関数に変換してくれるAJAX
フレームワークなんかは、そのために JSON を利用してるわけ。
0171nobodyさん2006/01/24(火) 16:40:44ID:???
> PHP や Java のメソッドを JavaScript の関数に変換してくれるAJAX
> フレームワーク

これ知りたい。
名前だけでも良いので、教えてください。
0172nobodyさん2006/01/24(火) 17:14:14ID:???
function認めたら、完全なJavaScriptのパーサが必要になるんじゃ。
0173nobodyさん2006/01/24(火) 17:57:42ID:???
>>170
JSON は JavaScript 互換のデータフォーマットって仕様にも書いてあんだろ。
XML との対比は一体何だったのか。
お前が言ってるのは単なる JavaScript の話であって JSON の話ではない。
仕様も読まずに JSON を語るな。>>165 作った奴もだ。バカか。
0174nobodyさん2006/01/24(火) 18:54:53ID:???
要するにJavascriptでしょ?
0175nobodyさん2006/01/24(火) 19:19:44ID:???
これってこんなに伸びる話題なのか('A`)?
0176nobodyさん2006/01/24(火) 20:29:26ID:???
伸びるんじゃない、伸ばすんだ。
0177nobodyさん2006/01/24(火) 22:54:54ID:???
ネットワークを通じて飛んでくるものをevalするのは少し怖い。
0178nobodyさん2006/01/25(水) 00:42:28ID:???
>>177
少しか?
0179nobodyさん2006/01/25(水) 01:30:13ID:???
>>177
ttp://www.crockford.com/JSON/js.html
↑のjson.jsを使うと良いよ。
日本語訳は↓
ttp://d.hatena.ne.jp/brazil/20050915/1126717649
0180nobodyさん2006/01/25(水) 02:15:23ID:v0vKVIWp
Ajaxでも語りませんか
http://super-size-me.hp.infoseek.co.jp/kako/1110287963/1110287963_01.html
0181nobodyさん2006/01/25(水) 02:20:15ID:???
>>173
XML との対比は、AJAX アプリを作る時にサーバサイドが返してくる文字列を
XML より JSON にしたほうがパースの手間が省けていいじゃん、というだけの
ことだと思うけど。

XML がカバーしているすべての領域を JSON でカバーしようと思ってるバカは居ないだろ。
その用途なら YAML のほうがよっぽどマシ。
0182nobodyさん2006/01/25(水) 07:08:13ID:???
いつかJSONスレが必要の時が来そうだな。

そうそう、PHPでXMLをJSONに変換する簡単な方法を見つけた。

ttp://keithdevens.com/software/phpxml
でXMLをPHPのオブジェクトに変換し
ttp://pear.php.net/pepr/pepr-proposal-show.php?id=198
でそれをJSONに変換
0183nobodyさん2006/01/25(水) 16:52:26ID:???
JavaScriptでもJSONのデータを読み込むときはパースするほうが安全。
単純にEvalするだけだと、サーバー側のバグでデータが文法違反しているときに、
クライアント側で例外が上がってしまう。

またEvalでは任意のコードも無条件で実行されてしまうので、
防御的プログラミングの観点からも好ましくない。
0184nobodyさん2006/01/25(水) 17:47:12ID:???
わざわざパースするんなら既にパーサが揃ってる XML の方がマシだな
0185nobodyさん2006/01/25(水) 17:54:13ID:???
>>183
例外あがればcatchすればいいだけじゃないか。

evalに関しては同意。
Ajax使うならドメインで大丈夫だとは思うけど、リスクが上がるのはやだよなぁ
0186nobodyさん2006/01/25(水) 23:11:01ID:???
Ajaxって名前が好きだ。
JavaScriptが書けるわけじゃないし、
XMLもよく分からないけど、好きだ。
ただそれだけ。
0187nobodyさん2006/01/26(木) 01:44:35ID:3hqeA+V2
>>173
てか、データフォーマットなんだから、関数だろうとオブジェクトだろうとデータなんだな(w。
データの使い方は目的で決まるわけで、関数がリテラルではないという思い込みは、自分の手足を縛るだけ。
0188nobodyさん2006/01/26(木) 01:46:51ID:???
>>186
俺はアクロンだな。
毛であろうと綿であろうと化繊であろうとアクロンを使う。
アクロンが無い時にはシャンプーを使う。
俺にとって重要なのは、繊維を傷めないような洗剤を使うこと。
Ajaxなんかで洗えるような貧しい衣料は一つも持っていない。
0189nobodyさん2006/01/26(木) 02:27:55ID:???
>>187
言葉遊びは他所でやってくれないか
0190nobodyさん2006/01/26(木) 05:31:21ID:???
こういうインターフェイスいいね。

Amazon.comのダイヤモンドサーチ
http://phpspot.org/blog/archives/2006/01/amazoncom.html
0191nobodyさん2006/01/26(木) 09:24:09ID:???
>>184
JSONを扱うJavaScriptライブラリの半分くらいは
すでにパースする実装になってるから「既に揃っている」が正解
0192nobodyさん2006/01/26(木) 11:30:52ID:???
もしも2ちゃんねるの各板に株というものがあったら
http://news19.2ch.net/test/read.cgi/news/1138239761/

実装してくれる奇特な方はいませんか?
0193nobodyさん2006/01/26(木) 13:22:19ID:???
>>191
検証が出来るかどうかの話なのに、すでに揃っているのか。おめでたい人だ。
0194nobodyさん2006/01/26(木) 16:01:37ID:???
>>190
去年の5月頃だな
0195nobodyさん2006/01/26(木) 18:02:42ID:???
>>193
ttp://www.crockford.com/JSON/json.js

冒頭のコメント。

/*
The global object JSON contains two methods.

JSON.stringify(value) takes a JavaScript value and produces a JSON text.
The value must not be cyclical.

JSON.parse(text) takes a JSON text and produces a JavaScript value. It will
return false if there is an error.
*/

こういうのがあるよって言ってるだけなんだけど、
どこがおめでたいの?
検証ってなに?
0196nobodyさん2006/01/26(木) 18:20:08ID:WDEw1O6G
>>195
> どこがおめでたいの?
>>193 がおめd(ry
0197nobodyさん2006/01/26(木) 18:55:40ID:???
>>195-196
さすがだな、php板。話にならん。
書式の正しさを検証するだけなら何でもありだそうだ。おめでたい。
0198nobodyさん2006/01/26(木) 19:50:38ID:???
いや話になっていないのはお前だが…
0199nobodyさん2006/01/26(木) 20:36:35ID:???
php板?
0200nobodyさん2006/01/26(木) 21:28:04ID:???
http://pc8.2ch.net/php/
0201nobodyさん2006/01/26(木) 21:58:41ID:???
米Sun,Ajax対応のWebアプリ構築ツール「Sun Java Studio Creator 2」を公開
http://itpro.nikkeibp.co.jp/article/USNEWS/20060126/227937/
0202nobodyさん2006/01/27(金) 13:04:14ID:???
「AJAX」人気、開発ツールキットのメーカーの競争を促進
ttp://japan.cnet.com/news/ent/story/0,2000047623,20095316,00.htm
0203nobodyさん2006/01/27(金) 23:49:45ID:???
>>201
この前無料になったって聞いて落としたばっかなのに、もう新しいの出たんだね〜。
0204nobodyさん2006/01/28(土) 06:50:23ID:???
>>91
これでユーザIDを1文字入れるごとにチェックするのってどうやるの?
いまいちわからん。
0205nobodyさん2006/01/28(土) 09:00:47ID:???
onkeydownで1文字ごとにサーバに問い合わせる
0206nobodyさん2006/01/28(土) 09:34:29ID:???
onkeydownだと、押したキーがまだ反映されてなかったと思う。
やるならonkeyup。
0207nobodyさん2006/01/28(土) 11:30:37ID:???
>>187
json.org にあるBNFを見たことある?
functionという種類のオブジェクトは定義上存在しないんだよ。
0208nobodyさん2006/01/28(土) 20:02:27ID:???
ttp://www.p-world.co.jp/niigata/ajax.htm
0209nobodyさん2006/01/28(土) 22:06:10ID:???
え、Ajaxってアヤックスって読むの?
アジャックスだと思ってた…。
0210nobodyさん2006/01/28(土) 22:20:53ID:???
エイジャックス
0211nobodyさん2006/01/28(土) 22:29:01ID:???
サッカー好きならアヤックス知ってる人は多い。
ttp://www.ajax.nl/
俺ははじめアヤックスって読んでた。
0212nobodyさん2006/01/29(日) 15:15:55ID:???
アヤックス強いよな
0213nobodyさん2006/01/30(月) 15:17:23ID:???
ajaxて便利だと思うけどいまいち使い道がわからない・・。
ajaxでデータ変えてもソースは初期のままなんですね。
素人の意見ですた。
0214nobodyさん2006/01/30(月) 15:29:00ID:???
AJAXは、あのオーケストラヒット使いまくりの
BGMがカコイイ。
Stage2の空母へのダイブ爆撃が快感。
0215nobodyさん2006/01/31(火) 00:20:26ID:???
エイジャックス・トラックス
0216nobodyさん2006/01/31(火) 04:18:49ID:???
>>214
6面BGMが俺のお気に入りだ。
0217nobodyさん2006/01/31(火) 11:16:12ID:???
Ajax で Ajax 作ってよ
0218nobodyさん2006/01/31(火) 15:28:58ID:???
>>217
お前頭良すぎ。

AjaxでAjaxエディタを作ってよ。
0219nobodyさん2006/01/31(火) 16:18:51ID:???
Ajax Hacks
ttp://www.oreilly.com/catalog/ajaxhks/
0220nobodyさん2006/02/01(水) 01:00:47ID:???
もうでたのかよOreillyさん・・・
0221nobodyさん2006/02/01(水) 02:02:57ID:???
onreadystatechange のハンドラの中から
元の xmlhttp を得る方法が解らなくて
並列リクエストができないの
0222nobodyさん2006/02/01(水) 04:19:54ID:???
ITmediaニュース:Ajaxに潜むセキュリティとパフォーマンスリスク
http://www.itmedia.co.jp/news/articles/0601/31/news034.html
0223nobodyさん2006/02/01(水) 05:06:43ID:???
Ajaxのセキュリティ問題といえば、JavaScriptで(CGIを通して)データベースの書き換えを行えるようにすると、任意のJavaScriptを実行されてデータベースに良くないなデータを書き込むことができるということくらいしか思いつかない。
0224nobodyさん2006/02/01(水) 05:11:34ID:???
>223はフォームで(CGIを通して)データベースの書き換えを行えるようにすると、任意の文字列を入力されてデータベースに良くないなデータを書き込むことができてしまうプログラムを書く人間。
0225nobodyさん2006/02/01(水) 05:14:21ID:???
>223-224は改行できない人間。
0226nobodyさん2006/02/01(水) 08:37:31ID:???
>>223
それはどれでも一緒だと思う
0227nobodyさん2006/02/01(水) 17:31:42ID:???
【NET&COM2006速報】日立IT,Ajaxを利用したWeb電話帳を参考出展
http://itpro.nikkeibp.co.jp/article/NEWS/20060201/228319/
0228nobodyさん2006/02/01(水) 18:33:25ID:???
Ajaxと言えばRuby on Railsかな?
0229nobodyさん2006/02/01(水) 21:26:58ID:???
>>219
http://www.oreilly.com/catalog/ajaxhks/desc.html
これ見ても、既存の Web アプリのサンプル解説みたいのばっかだなぁ
既存の Web ブラウザの機能仕様総括とかあればいいのに
0230nobodyさん2006/02/02(木) 03:35:15ID:???
AJAXのセキュリティ問題って一般的なWebアプリのセキュリティ問題と変わらないよな?

なんでそんな話しが出てくるかがわからない。
0231nobodyさん2006/02/02(木) 03:50:31ID:???
その記事Newsを装った宣伝だし
0232nobodyさん2006/02/02(木) 18:28:25ID:???
米Googleや米IBMなど,Ajax開発ツールの推進コミュニティ「Open Ajax」を結成
ttp://itpro.nikkeibp.co.jp/article/USNEWS/20060202/228406/
0233nobodyさん2006/02/02(木) 18:41:00ID:???
さりげなくZendがいてワロス
0234nobodyさん2006/02/02(木) 22:48:36ID:???
PHPによるRuby on Rails見たいなのを作ってくれたりしたらうれしいな。適当なレンタルサーバでもバリバリ使える。
0235nobodyさん2006/02/03(金) 00:54:03ID:???
ったくJ2EEが破綻したから苦労するよ。
0236nobodyさん2006/02/03(金) 03:41:24ID:???
携帯やPDAのブラウザで動くようになれば最強なんだが・・・
0237nobodyさん2006/02/03(金) 10:23:25ID:???
>>236
素直にFlashとかJavaとかを使えばいいのではないかと…・
0238nobodyさん2006/02/03(金) 13:38:04ID:???
>>236
どっかの雑誌で携帯のフルブラウザ特集やってて
Google Mapsの動作状況を調べてたが結構動作する機種があって
びっくりした
0239nobodyさん2006/02/03(金) 16:09:04ID:???
>>238
結構動作するのがあったってのには驚くけど、あのサイズの画面でちゃんと見れるのだろうか
0240nobodyさん2006/02/03(金) 18:53:31ID:???
>>237
携帯やPDAでうごけばJavaが当初唱えてたWORAやらNCやらが実現できそうな気がしてきて面白いなと思って・・・
0241nobodyさん2006/02/03(金) 18:58:17ID:???
年内には発売予定。
0242nobodyさん2006/02/03(金) 21:48:52ID:7UTP/pxg
GoogleMapsはIEだけvml使ってIE以外はpngだろ?現実的なことしてるよ
0243nobodyさん2006/02/04(土) 05:33:47ID:???
>>242
そうなのか。どーでもいいけど。
0244nobodyさん2006/02/04(土) 11:30:06ID:8eOLTvRw
お前の存在のほうがどーでもいいけどな。
0245nobodyさん2006/02/06(月) 15:55:41ID:eU5Wg9Gd
Ajaxを勉強中なんだけど
http://michishigesayumi.main.jp/ajax.html
これもAjaxを名乗ってもいいですか?
0246nobodyさん2006/02/06(月) 16:16:15ID:???
名乗るだけなら自由だろ。
0247nobodyさん2006/02/06(月) 16:16:28ID:???
いいよ
0248nobodyさん2006/02/06(月) 21:43:51ID:???
それをAjaxといって、なにをAjaxと言うんですかい、だんな。
0249nobodyさん2006/02/06(月) 21:56:43ID:???
普通にxmlファイルを読み込んで表示するだけのjavascriptに見えるんだけど違うの?
ajaxって双方向に働きかけるものだと思ってた。
0250nobodyさん2006/02/06(月) 22:01:23ID:???
>>249
Ajaxの定義によるが、一般的にJavaScriptによってXMLファイルを非同期に読み込んでさえいればそれがAjax。
流行によれば、ユーザインターフェイスとかの部分を含めて言う場合もあったり・・・。
0251nobodyさん2006/02/06(月) 22:12:27ID:???
なるほど、だんだん認知されている定義も変わりつつあるって感じかな。
俺はユーザインターフェイスの部分でかなり感動したから、
その印象が強いのかも。

googleサジェストとか、アカウント取得でキー打ち込んだ瞬間に使えるか表示されるみたいな感じの。
0252nobodyさん2006/02/06(月) 22:37:30ID:???
>>250
その定義なら、MSDNも昔からAjaxってことになるな。
■ このスレッドは過去ログ倉庫に格納されています