くだすれAjax(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 Ajax使いが優しくコメントを返しますが、 お礼はAjaxの布教と初心者の救済をお願いします。 そもそも漏れはJavaScriptの使い方が分らない。 色々試すが結局xsltで整形して終わり。orz >>6 Ajaxを甘く見ると命を落とすことになるぞ。 こっちが喰われそうです。 WebProg板のAjaxスレから転載 ttp://chasen.org/~taku/software/ajax/hwr/ 凄すぎ こんな事が出来る脳みそ欲しいです。誰か譲って下さい。 また新たなスキルを身につけねば… いつまで保つんだろうか… #PHPで食ってるが、Ajaxやっとかんと食いっぱぐれそう 非同期通信の際の最大同時接続数は、ブラウザの最大同時接続数の制限を受けるのですか? 昔リモートスクリプトでやってた。 リモートスクリプトはGETなんで、でかいデータのやり取りに苦労した。 以前ちらっと見たな Firefox対応はcoming soonか その割に結構動いてるしajaxでせう Google MapはMacのSafariでもぐりぐり見られますが、食べログ.com のマップはSafariでは見られません。 Ajaxの解説については、ブラウザ互換について考慮してある http://allabout.co.jp/career/javascript/closeup/CU20050430A/index.htm がいいのではないでしょうか。 http://sagittarius.dip.jp/ 〜toshi/Ajax/yui.html のサンプルデモ http://sagittarius.dip.jp/ 〜toshi/Ajax/demo3.html は、MacのSafari1.2.4で動作せず、ソースが表示されてしまいました。 21で挙げたAllAboutの解説なのですが、 http://allabout.co.jp/career/javascript/closeup/CU20050531A/index.htm のサンプルはSafari1.2.4で動作しません。表を良く見たらs1が×になっています。 これがSafariを表す……のかな。 n7 ネットスケープ m1 モジラ e5 IE s1 Safari ですかねぇ……。 ちなみにMacのIEはSafariが出たことによって開発が止まっています。 AllAboutはJKL.ParseXMLに頼り切っていて役に立たないよね 入門扱いで文章量控えるにはそんなあたりが関の山じゃないの。 「キーワード」、「値」を入力するフォームと投稿ボタンがあって、 投稿ボタンを押すたびに、下にリスト状に追加表示されて、 各レコードの右にある「削除ボタン」を押すと そのレコードが削除されるようなAjaxって どうやってつくるの? ごめ、眠っくて死にそうだから文章分かりにくいかも。。。 誰の質問にでも優しく答える俺だが、答えてやれない相手が2人だけいる。 一人は、眠そうにしながら人にものを訊ねる奴と、 もうひとりは、以前眠そうにしながら人にものを訪ねた事のある奴だ。 ああ、寝ぼけた声で「あたしの下着どこー?」とか聞かれてもこまるよな。 こっちは思い出す以前に忘れたい限り、いやむしろとっとと追い出したい状況だというのに。 あれは答える気力が失せる。 function loadXMLDoc() { varreq = false; // branch for native XMLHttpRequest object if(window.XMLHttpRequest) { try { req = new XMLHttpRequest(); } catch(e) { req = false; } // branch for IE/Windows ActiveX version } else if(window.ActiveXObject) { try { req = new ActiveXObject("MSXML2.XMLHTTP"); } catch(e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { req = false; } } } //if(req) { req.onreadystatechange = processReqChange(rec); req.open("GET", 'cg.html', false); req.send(null); document.getElementById("moto").innerHTML = rec.responseText; //} } これで、24行目でreqを宣言してないと出るんですがなぜですか? ジャバスクリプトはそのうち消える、そんな風に思っていた時期が俺にもありました。 >>33 原因はそこら辺ですか・・・、ユニコードに直したらできたんですけど UPするとばぐる・・・・ >>29 そんなシミュレーションしなくても実際にそのような場面に遭遇する確立は低いので地道に生きましょう どなたかメガビュー掲示板に看板画像を乗せるタグを知る人は居ませんか?ほとんどの方が知らないと思います…この質問はレアな部位に入ると思います。心優しくセンスのある方の来訪を待つ。 >>37 ,. -、 _.,,/-....._ヽ ,.-=7..:.:.:.:,:lー、::ヽ...、 〃 /:::/:/lj`_ `;:::l`、.、 // ク:l(::フ l:.::j l::::l l i ,' ;' ゝl −`l =L):! .! l 恥ずかしいセリフ禁止っ! i l (\..|_」、-,'ニ、 l .! ,! l _,/_ゝ. \/ .} l l . l ,! (/ _,>、 ´ヽ / l l l l ゝ-l} /l 丶ノ-' {. l l l l (´lj/|、ヽ|| _j l l 画像はフォルダに保存できません>< 画像はマイ・ピクチャでなくては保存できないのでしょうか? >>39 ,. -、 _.,,/-....._ヽ ,.-=7..:.:.:.:,:lー、::ヽ...、 〃 /:::/:/lj`_ `;:::l`、.、 // ク:l(::フ l:.::j l::::l l i ,' ;' ゝl −`l =L):! .! l 恥ずかしいセリフ禁止っ! i l (\..|_」、-,'ニ、 l .! ,! l _,/_ゝ. \/ .} l l . l ,! (/ _,>、 ´ヽ / l l l l ゝ-l} /l 丶ノ-' {. l l l l (´lj/|、ヽ|| _j l l http://g2.ngw.jp:2000/ この応答を遅延させる仕組みについて具体的にどういうことをやっているのか わかる方いますか? >>41 接続を繋げっぱなしで、サーバ側で変化(コメント入力)があった時点でクライアントにレスポンスを返してるのでは? クライアント側(ブラウザ)ではタイムアウトしたら、すぐに接続して待機状態を保っているぽいです。 Ajaxって何のことかと思ったら ActiveXObject("Msxml2.XMLHTTP")かこれの系統の オブジェクトを使ってもにょもにょすることだったのか。 Ajaxと言うのを知らずに使ってた。 Ajaxに挑戦中。でもいいネタがないんだよなぁ・・・。 Ajaxでチャット作ってんだけどさ リアルタイムに極限まで近づけるのってあり? サーバーで許される限りずーっとプロセス生きてるの あり? ローカルフォルダにファイルを保存することはできますか? JavaScriptでローカルにアクセスは出来ません。 prototype.js使っているのですが、 Ajax.Requestの挙動について質問があります。 FireFoxでは問題無かったのですが、IEの場合2回目以降の Ajax.Requestの呼び出しがうまくいっていないような状態です。 具体的にはボタンを押すとAjax.Requestを呼び出し、数秒間sleepさせて から値を返すサーバにリクエストをします。それで数秒後に受信完了して onCompleteで受信完了のアラートを出すという単純なものなのですが、 これをIEで実行すると1回目は数秒後に受信完了となるのですが、 2回目ボタンを押すといきなり受信完了となってしまいます。 Firefoxでは2回目以降も数秒間遅延したあと受信完了の アラートが出るのですがこれで正常なのでしょうか? >>49 > Ajax.Requestを呼び出し、数秒間sleepさせてから値を返すサーバにリクエストをします。 ↑これって(1) (2) のどっち? (1) 数秒間sleepさせてから、「値を返すサーバ」にリクエストをします (2) 「数秒間sleepさせてから値を返すサーバ」にリクエストをします (2)です。 処理に時間がかかっていることを擬似的に表すため 3秒間遅延するだけのスクリプトを用意して、それに対してリクエストしました。 js -> 遅延サーバ(3秒間sleep) 3秒後 js <- 遅延サーバ >>51 Firefoxはよく知らないが、IEはXMLHTTPRequestのレスポンスもキャッシュしてたはず。 サーバ側で有効期限付けて返したら大丈夫かも? GETメソッドでリクエストする場合、URLが同じだとIEの場合キャッシュしてしまう っぽいです。URLに適当なパラメータを付けて(時間がちょうどいい) url = url + "?t=" + (new Date()).getTime(); こんな感じにするとIEでもうまくいきました。んーでもなんか 普通じゃない感じがするのですが、皆さんはページをリロードせずに 定期的、もしくは任意のタイミングで複数回データを受信するとき どんな方法使ってますか? いろいろ調べた結果、POSTメソッドを使うか ヘッダにIf-Modified-Sinceを指定すればキャッシュを無効にできそうです。 >>49 そういう事案にぶつかった時の参考にさせてもらう。 乙でした。 もう少し詳しいものを書いておきます。 1つはGETされる側のスクリプト(phpの場合)にキャッシュを無効にする ヘッダを書いておくというもの。 // HTTP/1.1 header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.0 header("Pragma: no-cache"); もう1つはprototype.jsのAjax関係の関数、例えばAjax.Requestの場合 var obj = new Ajax.Request(url, { method: 'get', onComplete: loaded, requestHeaders: ['If-Modified-Since', '01 Jan 1970 00:00:00 GMT'] }); こんな感じでrequestHeadersにIf-Modified-Sinceを付けるとキャッシュを 無効にすることができました。以上です、いろいろとアドバイスありがとうございました。 XMLHttpRequestオブジェクト.onreadystatechange=function(){〜〜〜} こうすると通信エラーになり、 XMLHttpRequestオブジェクト.onreadystatechange=hoge; function hoge(){〜〜〜} こうすると正常にデータを取ってくるんですが、前者の何がマズイのでしょうか? 自己解決しました。 readyStateが4になるまで一回一回関数を呼び出してるんですね。 失礼しました。 ぶっちゃけ、XMLHttpRequestで何かを取ってくることに関しては、それ以上語るべきこともなく… Ajax使ったChatのPerl版って見ないけどあるのかな。 あったらソース見て参考にしたい。 >これはクライアント側が先に通信を開始させておき、 >それに対する応答を別のクライアントからのメッセージを >受信するまで遅延させるという方法で実現されています。 >まさにクライアント側で処理を行うAjaxならではのテクニックといえます。 じゃあ俺が釣りっぽくない感じに質問を変えてみるw このテクニックを使ったperlを利用したAjaxChatってまだ無いのか? そもそも>>63 のでソース公開してるやつってperl以外でもあるのか? 質問。prototype(1.4)使ってAJAXにチャレンジ中なんだけど、例えば、 あるクラスのメソッド内で this.myAjaxObj = new Ajax.Request(url,{postBody: xxxx, onComplete:xxxxx}); ってな感じで書くとするじゃない。 で、レスポンスが帰ってくる前に同じクラスの別のメソッドで↑と全く 同じように呼ぶと、2重にリクエストが行くことになるよね?その時に、 2重にならないように古い方のリクエストを中止したいんだけど、どうも うまくいきません。新しい方のリクエストを呼ぶ前に、 this.myAjaxObj.transport.abort(); で行けるかと思ったんですが、だめみたい。。。 もしご存知の方がいたら教えてくだひゃい…。 # オブジェクト指向の理解がまだ曖昧なんで、とってもアフォなこと言ってたら すんません。 メソッドごとにフラグを作っておき、どちらかが実行されたらもう一方のフラグをfalseにしてonreadystatechangeの所で弾くというのはどうか。 ありきたりですまんが、途中で中止って可能なのか分からないよ('・ω・`) サーバー側PHP,クライアント側JAVASCRIPT、間をAJAXでつないで、 ビジネスプログラムインタフェースを作るのだが、一機能で100万でどうだろうか。 DBは使わない予定。 きのう:EXCELの入力と同じようなことが出来ること >>67 レスdクス やっぱグローバル変数使ってフラグ制御なりをするか、 XMLRequestオブジェクト(だっけ?)自体をグローバルにして使いまわす とか、そんなことかなぁ。。。 もうちょい調べてみます、ありがd 質問じゃなくて申し訳ないが、 ttp://dev.kan.vc/validator/ ここのvalidator-0.2.1.tar.gz持っている人居る? 1ヶ月くらいリポジトリがぶっこわれてるらしくて、ダウンロードできん。 ググって探し回って、0.10は見つけたんだが・・・。 prototype.js使ってます。 new Ajax.RequestでonSuccessのコールバック関数に渡されるtransportから、 リクエストを発行したURLを取得する方法無いですか? 複数一気に発行して同じ関数をコールバックするので、 どのリクエストの返事か判別したいんですが・・・ 社内ネットワークの検索システムに、得意げにajax導入したら、 苦情が増えた。上司に怒られた。同僚に馬鹿扱いされた。 元に戻した。 ためしにこんなのを。 for(i=0;i<2;i++){ var url ="ttp://www.example.com/"+i; new Ajax.Request(url,{method:'get',onSuccess:function(transport){onsuc(transport,url)}}); } function onsuc(transport, url){...} 結果:ダメでした。二回とも二回目に発行したurlが入ってしまった。 >>75 今後の参考に何がおきたのか聞きたいんだが ・ボタンを押す前に、何でデータ送信してんだ?馬鹿。 ・タイピング中に何をごそごそ裏で動いてんだ。気持ち悪いぞ。馬鹿。 ・なんか重いぞ。馬鹿。 ・データベースへのリクエスト数倍増だ。壊す気か。馬鹿。 ・VPNに負荷かけ過ぎ。 などなど。 新しもの好きの人だけGJ!って言ってくれたが、うちの会社では時期尚早でした。 慣れという壁は高い。 >79 「裏で動くのが気持ち悪い」以外は慣れの問題じゃなくて環境の問題だろ。 データベースがリクエスト数倍増でも大丈夫、VPNが負荷かけまくっても余裕、 AJAXが作動しても重くならない位クアライアントPCがハイスペック、って環境が揃って 初めてAJAXを導入する環境が整ったと言える。 逆にこれらが整ってるなら、そこに挙がってるクレームにも余裕で反駁できるっしょ。 そらそんだけ要因揃ってたらAjax好きの俺でも”待った”かけるぞw ちゃんとインフラ整ってからAjaxに移行しろよ。スケールの設計やった事ないのか? >>83 は「エイジャックス」と読む人 >>84 は「アジャックス」と読む人 質問です。メソッドをGETで、サーバーに問い合わせて、 結果をinput(text)に反映したら、IEだと、レスポンス+HTMLのコード全部になってしまいます。 Firefoxでは、レスポンスだけを表示できました。 >>87 レスポンスに何を返してるのかがわからないから、なんとも言えないけど。。。 -- Content-Type:text/plain;charset=UTF-8 あいうえお -- みたいなレスポンスを返してるのでしょうか?? >>79 1と2行目、裏で動いてるのよくわかったねw それが容易にわかる人ならAjaxぐらい知ってそうなものだけど。 Ajaxを使ってテーブルゲームを作った俺が来ましたよ。 現在、Ajaxを使用して通信しており、サーバからの結果を取得した値(id)を 別ページに送りたいのですが、どうすれば良いかわかりません 以下ソースです id取得部分 document.getElementById('getid').innerHTML = xmlhttp.responseText; 表示部分 <div id="getid">検索結果</div> 送信部分(ここが良くわからない) <form method="get" action="AjaxTest2"> <input type="hidden" name="getid" value="<%='getid'%>"> <input type="submit" value="送信"> AjaxTestで表示されているgetidは動的に変化するのですが、 それを別ページ(AjaxTest2)へ送信するとgetidは空になっています 正確な値(AjaxTestで見えているgetid)を送るにはどうすれば良いか、 御教授の程宜しくお願いします >>92 とりあえず、eval("var hoge"+xmlhttp.responseText);とかやっといて document.getElementByName("getid").value=hoge;とかどうですか。 でも、自分だったら、submitをbuttonにしておいて、onmousedownでxmlhttpで送るかな。 >>92 1. URLの最後に "?" をくっつけて値と変数のペアーのリンクをつくる。CGIでデータを送るような感じのURLにする。 例)page100.html?VALUE=hogehoge ※日本語を値に取る場合、エンコーディングしないといけない 2. 飛んだ先のページには、location.searchで?以下の文字列を取るようにする。あとは、"=" でスプリットして値をゲットする。 試していないので、できなかったらゴメン 数秒間待ってからプログラムを再開するために、C言語などで言うsleepのようなものを探しているのですが javascriptにsleep関数はないのでしょうか? >>95 実行状況のステータスを設けて、setTimeoutを使うくらいしか思い浮かばない。 function hoge(){ var ajax; if (window.XMLHttpRequest) { ajax = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { ajax = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { ajax = new ActiveXObject('Microsoft.XMLHTTP'); } } ajax.onreadystatechange = function () { if (ajax.readyState == 4 && ajax.status == 200) { var res = ajax.responseXML; alert(res.xml); } } ajax.open('GET', 'hoge.xml'); ajax.send(null); } Ajaxのテストをしているのですが、上記ソースでIEではXMLが 表示されるのですが、Opera8、Firefoxでは表示できません。 何が問題なのかわからなくて困っております。 分かる方おられましたら教えてください。よろしくお願いいたします。 >>99 ありがとうございます。 一応IISでやっています。他のPCからhttp://hoge/ajaxtest.aspx として テストしています。 エラーは「undefined」と出てしまいます。 IE系だとXMLが表示されます。 ちなみにresponseTextで取るやり方はできました。 しかし、やはりXMLを使いたいなと思います。 alert(res)は? 取りに行ってるのがhoge.xmlで、alertするのがres.xmlとは、これいかに? >>102 確か「object XMLDocument」と出たと思います。 ちなみに alert(res.getElementsByTagName('test').item(0).text); としてもundefinedとなってしまいました。 xmlの内容が書いてないのでなんとも言えんが document.getElementsByTagName("〜〜〜")[0].firstChild.nodeValue などとしないとテキストにはアクセスできないでしょ。 ajaxではなくDOMの問題。 >>104 なるほど〜。 MSのDOMがちょっと変わってるんですかねー >>105 参考になると思う↓ ttp://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter02/009/index.html >>106 ありがとうございます。 明日試してみたいと思います。解決する予感が激しくします。 web Designingに (ページデータ読み込み部分) this.xmlhttp.open('GET',url,true);//"true" - don't hold up browser this.xmlhttp.onreadystatechange = this.readystatecgangeHandler; this.xmlhttp.setRequestHeader('Content-Type','text/html'); this.xmlhttp.send(null); (ページを表示する部分) this.onloadHandler = function(){ c = document.getElementByld('portfoliocontent').getElementsByTagName('div')[1]; c.innerHTML=self.xmlhttp.responseText; 説明: リンクをクリックすると・・・・・(省略) 処理はフレーム・インラインフレームを使えば簡単だが、このサイト では非同期通信を利用してページを表示している。 XMLHttpRequest()を使って指定したURLのデータを取得し、innerHTMLに得られた データを入れるだけでスムーズにページを表示できる。 : これを試したいのですがうまくいけません(なにも表示されませんでした) これをうまく動作させたサンプルをどなたか作ってもらえないでしょうか。。 >>111 XMLHttpRequestはFirefox(IE7は対応予定) IEはActiveXObject >>111 IEは、ローカルでは試せない。スクリプトもダミーデータもサーバにおいて試す。 オマケにダミーデータは、UTF-8で保存しないといけないぞ(IE, FFとも)! 折れも動かずにハマったことがあった。 >>113 &>>114 どもです^^しかし・・ 下のやり方でしましたが、うまくいきません;; もしかして根本的に間違ってるとか・・・・・(´・ω:;.:... ::::(aa.htmlで保存してサーバにうp)::::::::::::::::::::::::::::::: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無題ドキュメント</title> </head> <body> <script> this.xmlhttp.open('GET',url,true);//"true" - don't hold up browser this.xmlhttp.onreadystatechange = this.readystatechangeHandler; this.xmlhttp.setRequestHeader('Content-Type','bb.html'); this.xmlhttp.send(null); this.onloadHandler = function(){ c = document.getElementByld('portfoliocontent').getElementsByTagName('div')[1]; c.innerHTML=self.xmlhttp.responseText; </script> </body> </html> :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: つづく つづき ::::(bb.htmlで保存してサーバにうp)::::::::::::::::::::::::::::::: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無題ドキュメント</title> </head> <body> aaaaaaa </body> </html> :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: そりゃ動かんだろ… もうちょっと基礎的なことからやった方がいい。 ttp://www.google.co.jp/search?hl=ja&q=XMLHttpRequest&lr=lang_ja すいません、ここに書き込んでいい質問かどうか、迷いましたが、書き込ませていただきます。 google web tool kitのほかのツールとの違いや、開発者がやるべきことって何でしょうか??ちょっと、 いろいろネットなどを見てみたのですが、なにしろ初心者のため、よくわかりません、、 データをサーバから読み込む際に、キャッシュを使わないように指示する方法を教えてください。 Ajaxを使えばFEPの制御もできますか? やりたいのは、 カーソルが数字のフィールドだと半角に、 漢字のフィールドだと日本語入力にしたいのです。 なつかしい、 ふろんとえんどぷろせっさー だっけ? TRIGLAVっていうゲームを見てブラウザでこんなのできるのかと びっくりしました。 こういったブラウザで動くゲームってperlやらのCGIプログラミングで構築されてるんでしょうか? それとも他の方法で作られているのでしょうか? 初代ドラクエみたいなajaxアプリを自分で作ってみたいんですけど、何を勉強すればいいのか分からないので 教えてください。 超初心者です。宜しくお願いいたします。 http://satisfydesire.com/ というところで、無料のフラッシュを頂きました。 タイトルムービーをダウンロードし、ホームページビルダーを使って編集しました。 編集後、プレビューで確認すると、うまく起動しているのですが、公開してホームページ から見ると、動いていません。 変わりにnowloading…という表示がされています。 ホームページのこのnowloadingの部分をクリックし再生を押すと、 タイトルムービーのフラッシュの文字以外の部分は一回だけ見ることが出来ます。 何かが足りないのでしょうか?宜しくお願いします。 因みにタイトルムービーの一部を自分の名前に変更しました。 マニュアルにしたがったので変更方法はあっていると思います。 理由は変更しないで公開しても同じ結果になるからです。 宜しくお願いいたします。 ファイルのアップロードをしようと思っています。 setRequestHeader("Content-type", "multipart/form-data"); の1行を追加すると、 Perl側の $q -> uploadInfo ($in{'upfile'}) -> {'Content-Type'} の部分でエラーになってしまいます。 どうすれば回避できるのでしょうか? 2秒毎に更新される画像を webから見れるようにしたいと考えています。 <html> <head> <meta http-equiv="Refresh" content="2"> </head> <body> <img src="./test.png"> </body> </html> みたいなページで、やりたい事はできたのですが、 この方法だと2秒毎にリロードしつづけてしまいます。 Ajaxだとリロードなしで同じような事ができると 思っていますが、どのように実装すれば良いのでしょうか? もしよろしければ教えて下さい。 >>133 setTimeoutで繰り返せばいいんじゃないの。 <html> <head> <script type="text/javascript"> window.onload = function() { var img = document.getElementById( "x" ) window.setInterval( function() { img.src = "test.png?"+new Date().getTime() }, 2000 ) } </script> </head> <body> <img id="x" src="test.png"> </body> </html> > 134, 135 Thank you!! 135氏ので、うまく行きました 本当にありがとうございます。 ここにいる諸君はプログラマ寄りかい。 デザにゃついていけん ところで文字化けの問題は どうしてる ? utf-8 なら問題なしのようだけど 僕が愛用している "Tex-Edit Plus" (<- text-editor) は未対応. Mac で定番とされる "Me" は僕に取っては使い勝手が悪い. だからなんとかして Shift_JIS で... と思うんだけど. CGI にdecode 処理させないで 記録する手もあるけど, こんどは decode する時に問題が発生しがち. (はぁ) >>144 "TexEdit Plus" にあって "Me" に ない機能: 1. window 左下のボタン : ASCII コードを調べたり見えない文字種を確認したり... とにかく便利 2. window size, position の記憶 3. multi-style : (色分けすることによって script の見通しが良くなる) 4. AppleScript 対応: (FileMaker Pro との連携によって便利さ倍増) UTF-8を扱えないエディタなんて、ただのゴミだ。とっとと捨てろ。 Macの事情は知らんが、統合環境のEclipseや、Emacs系のエディタは動くだろ。 >>145 エディタの機能なんて足りなきゃ最悪自分で付け足してなんとかなる 何万単位のネットユーザにブラウザをインストールさせるより遥かに楽 どんなに機能があろうが自分の好みだろうが、 文字化けを気にしなきゃいけないような事をしてるのに 文字コードも満足に扱えない道具しか使えないなんてなんだかな。 なんならコンバータだけでもどうにかすればいい。 classic環境を駆逐することから始めろ。 PC/AT互換機買えばいいだろ。 安いし。 emax系はカスタマイズが大変だが、 使いこなせるようになると他のを使う気がしなくなるらしいな。 >>147-150 色々ありがとん. しか〜し, スレ違いぎみだぎゃ. まあ, 問題を解決しようとすると いつのまにか OS, Hardware の話になってしまうのが鬱. いずれは乗り換えなければならないのだろうが, web を追求するのなら, UNIX 系の OS にするのがベターだろう. そうなると必然的に的が絞られる. (Apple は嫌いだが...) 話題を変えて Ajax のもう一つの問題点 : UA を選ばざるを得ない結果になる点について みんなは どう思ってるのかな ? >>151 君、とりあえず、ハード、ソフト、さらにAjaxに関しても、知識無さすぎ。 Web製作者で、UTF8使えないエディタを使っているとは、片腹が狭い WinXP pro SP2+IE6.0,JavaScriptとActiveX実行を許可 している環境ですが、以下のページにある Ajax サンプルが 動作しません。 ttp://perltips.twinkle.cc/ajax/ajax.php ここの中盤にある >6.以下のサンプルを実行するにはココをクリック。 をクリックしても >XMLHTTP Initialization Failed. というエラーダイアログが出てしまうのです。 スクリプトをコピペして、HTMLをローカル、読み込みファイルを WEBに置く(もちろんUTF−8)と正常動作します。したがって 『ネット上のAjax記載HTMLに限り、XMLHttpRequestオブジェクトが作れない』 という現象のようなのですが・・・・ (質問) IE6にてネット上のAjaxを動作させるためには、どこの設定をいじるんでしょうか? インストールした設定のまま、特にいじる必要はない。 研究にAjaxを使おうと思っている大学生です。 Ajaxをブラウザ同士の互換性気にせず使うのにprototype.jsとGoogle Web Toolkitで迷っています。 今までJavaScriptは使ったことがなく、プログラミングはC++ばかりやってきました。 Javaは少し使ってみましたが、C++とも似ていて(JavaScriptよりもw)使いやすいと感じました。 開発効率を考えるとJavaが使えるGWTのほうが魅力なのですが、 GWTでがっちり作ってしまうと後から乗り換えられなそうなので迷っています。 prototype.jsが各地で”Ajaxのデファクトスタンダード”扱いなのも気になります。 そんなに使いやすいのでしょうか? これ以外にもprototype.jsとGWTでメリット・デメリットがあったら教えてください。 よろしくお願いします。 prototype.js は、 javascript 処理系に微妙に足りない機能群や、 こんなのあったら楽だなぁみたいのや、 これはないとおかしいだろう常識的に考えてみたいのを補足するライブラリ。 いわゆるツールキットとは趣が違うし、GUI部品を楽に作れるとかいうものでもない。 単にUI作成ツールの道具として使いたいだけならGWTどっぷりしとけ。 prototype.jsにしろYUIにしろGWTにしろ、それらの必要な機能を自分で作れるぐらいの 力(や目的)がなけりゃ、あとから乗り換えなんてできないし。 prototype.jsは、汚染の観点から同時に嫌われてる存在でもあるよ。 WebProg板のAjax系スレの方が参考になるからそっち見て鯉。 159です。 どうもありがとうございます、GWTを使ってみようと思います。 Javaって構文はC++から、思想はSmalltalkやObjective-Cから受け継いでるよな AjaxスレでJAVAの話をしてる時点でわかるだろ。 あまりに自然で、ふつうにJavaスレを見てるかと思った 入門Ajax ってゆー本買って見ているんだけど もしかしてgoogleMapって社内Webサーバーでは使えないのでしょうか? prototype.js で質問 これで AJaxオブジェクトをnewしたとき 対応したブラウザだったかどうかを返すメソッドってある? >>169 newした時の戻り値を見ればいいんじゃないの? ricoのサイトにアクセスできません。。。 rico.jsを手に入れたいのですがどうしたらいいでしょうか? Rico.jsを使ったサンプルサイトからHTMLのHEADから保管場所を見つけて落としますた(´・ω・`) データを受け取って処理をする関数の中で、多少時間がかかる(5秒で100ループ)ので、 ループの中で obj.innerHTML = i+"/100" のようなかたちで書き出しているんだけど、 処理が終わると100/100って表示はするが、途中では全然反映されない。 非同期処理≠メインスレッド だから無理なんですか? 回避する方法があれば教えてください。 そもそもDOM書き換えにしろinnerHTML書き換えにしろ、 すべての画面書き換えは内部的にpolling的なことをしてるのでたぶん無理。 いちいち書き換えてたらブラウザ本来の体感スピードが劇遅になるだろう。 マルチスレッドっぽく処理をタイムスライス分割するようなライブラリないんかねぇ。 >>175 レスさんくす。無理か... 多少遅くなるのは仕方ないけど、例えば、無言のまま5秒待たされるとの、 カウントダウンされながら10秒待たされるのなら、後者のほうが精神衛生上 宜しいかなと思ってみたり。まぁ5倍とか10倍にまで処理が伸びるのもやだけどね。 俺は倍で5秒も違うなら無言の方がいいな。 1秒程度ならカウント要らないし。 >>175 つーか、再描画しろ関数はあってもいいと思う IE6でとあるスクリプトを実行すると、 XPathResultが宣言されていませんって言われる IE6だと対応してないの? >>181 してる とあるスクリプト というのを見せてもらえば、多分原因がわかる jQueryでAjaxなうpろだを作ろうと思ってるんですが、ファイルのデータをアップするにはどんな感じですればいいんでしょう? $.postでフォームの値送ってもファイル名しか送られてないっぽいし。 Uber Uploaderはソース読んでみたけどわかりませんでした。 dojoのdojo.io.bindを使ってUTF-8形式のtextデータを取得しようとしたのですが 日本語全角が???となって化けてしまいました。 ブラウザ側のhtmlはUTF-8で表示しており、日本語も正常に表示されてます。 非同期通信で取得したテキストだけ化けてしまいます。 サーバーサイドプログラムでヘッダー情報にencodetypeをUTF-8に設定し、 DatabaseもUTF-8のデータベースを使ってます。 原因がわからず苦戦してますorz 他に確認すべき個所などありますでしょうか。 ↑自己解決しました。 Ajaxとは関係なくサーバーサイドの問題でしたm(_ _)m Ajaxってクライアントの要求をサーバが受けて、差分更新分をxmlで返していると いう考え方でいいんですか? それを前提に、サーバ側で発生した差分更新をクライアントのサーバへの送信要求 無しに送信する方法ってあるんでしょうか? 差分も糞もない。 狭義にはブラウザの動作を中断することなく サーバとHTTP通信しXMLをやりとりすることだ。 広義にはDHTMLと組み合わせた部分更新や、 XMLではない内容のやりとりも含む。 prototypeで非同期通信をしようと思います。 IEやOperaでは動くのですが、Firefoxは動きません。エラーコンソールを見てもエラーは出ていません。 prototypeを使わ無い場合は問題なく動くのですが、気をつけることはあるのでしょうか? マルチした? 違うポートに投げるとFirefoxはダメって話題が他で出てたけど。 >>198 あっちでポート関連の話題降ったの俺だけど>>197 は俺じゃないよ 微妙に質問内容も違うし つか、被ってるのはFirefoxでNGって部分だけじゃんw 確かにタイミング的には誤解されそうな感じだけど マルチはしてないです。 >>198 ポートのこと良くわからないのですが、どこのスレでしょう?みてきます。 最近Ajaxを使わねばならなくなりそうなんだけど.NETで使うにはどれが一番いいの? なんかいっぱいあるしそれぞれの特徴がいまいちわからないです。 Ajaxの勉強を始めようと思い、下記サイトのサンプル(リスト2,3)を 動かそうと思ったのですが、firefoxだとレスポンスが返ってくるんですが、 IE6だと通信中・・・で止まってしまいます。どの部分が悪いのか、どなたか おしえてもらえないでしょうか? ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060525/239029/?ST=swd-tech IE で cached んとき stat は 200 ではなく 0 がかえってくる 遅くにありがとうございます。 IEでxmlReq.statusをアラートしてみたところ、200と表示されました。 でもxmlReq.responseTextをアラートすると何も表示されず、なのです。 cachedの意味を理解できてませんが・・・ prototype.js の Ajax.Updater を使用して、 XMLデータをXSLTで変換して読み込めません。(XMLの内容が羅列して表示されてしまいます) XSLTで変換する方法はあるのでしょうか? ありがとうございました。 やっぱりできないですよね。 Ajax.Request()とxsltProcess() をつかってできました! 皆さんのおかげです!ありがとうございます! いろいろな方法があるんですね。 カッコイイメニューが作れるライブラリ知りませんか? 教えて下さい。 Ajaxを長簡単に作れちゃうよ。 http://www.hows-ajax.jp/ab/ 体験版もダウンロードできるよ。 友人のウェブサイト製作とAjaxの勉強がてら、KASANOVAというJavaScriptのフレームワークを作ってみました。 (もちろんフリーソフトです。) ドキュメントが超貧粗なため、わかりづらいところが多いと思いますが、もしよかったら一度使ってみてください。 http://www.masterprimes.com/ 見にくいサイトだな サンプルリンクがどこにあるのかもわかりゃしねーな フォントの使い方とか。・・・ なんつーか、ライブラリの配布がexeファイルのみってところでダメダメ感あふれてるな Windowsしか相手にしてません、っていつの時代だよ。 exe圧縮って初心者過ぎ ていうかウイルスでも入ってるじゃねぇかと疑うわ 世界の権威であるCOMDEXが「21世紀のスタンダード」に認定したソフトウェア、 それがホームページ制作王である。ホームページ制作王に不可能はない! 標準外のイカサマ商品の売買で生計を立てるインチキ企業工作員が、 本当は血縁でもセレブでもなんでもない「叶姉妹」や、データを捏造した社員は 月曜朝に株で大儲けしている「あるある大辞典」にコロっと騙される日本人の気質を科学的に分析し、 ホームページ制作王を使ったことのない者や、使いこなせなかった者を煽動し、 彼らに八つ当たりのデタラメな風評をデッチ上げさせたために、我が国はホームページ制作王の 標準化に失敗し、21世紀も7年目に入った今、我が国のオーソリューションは世界に大きく遅れを取っている。 世界標準・ホームページ制作王の普及を妨げる、あらゆる工作活動を糾弾せねばならない。 制作王の普及によって、標準未満のオーサリングツールしか作れない連中を淘汰しなければならない。 そして、我が国は、1日も早くホームページ制作王の標準化を達成し、世界に追いつかねばならない。 世界が認めたホームページ制作王 http://pc11.2ch.net/test/read.cgi/hp/1144987720/ ajaxの練習で自分用2chビューワーもどきを作ってみたいと勉強を始めた者です。 でも、板一覧すらまともに取得できておりません。取得はできていますが、文字化けします。 「文字化け」でググれということだと思うんですが、よくわかりませんでした。 サーバー側の「板一覧」ファイルの文字コードなり設定なりいじれないものはだめなんでしょうか。 クライアント側でなにか文字コード変換みたいな処理をしてもできるのでしょうか。 どなたかお手数ですがご教授願えないでしょうか。ほんとうに頭が悪くて嫌になりそうですorz 以下のようなコードです。prototype.jsつかっています。。 function getBoardList(){ var url = 'http://menu.2ch.net/bbsmenu.html' ; var ajx = new Ajax.Request( url, { method: 'get', onComplete: showResponse }); } function showResponse(originalRequest){ $('hoge').innerHTML = originalRequest.responseText; } ttp://jsgt.org/mt/archives/01/000287.html >>231 ううん、自分はajaxはprototype.jsじゃなくてDWRを使って書いてるからちょっち専門外ですけど 文字化けがクライアント側かサーバ側どちらで起こっているのでしょうか。 ソースはクライアント側のJavaScriptですが、化けるのはサーバで受け取った時点で既に化けてるって事ですかね〜? HTMLとJSとPHPでページを作ろうとしてます。 HTMLでonClick→JSファイルでphpファイルを読み込む→phpで処理→HTMLに表示 ってな流れにしたいわけですがどうも上手くいきません。 JSファイル function test() { <script type="text/javascript" src="test.php"></script> /* ここに document.write("aaa"); って書き込んだ場合は普通に処理された */ } phpファイル test.php <?php header("Content-type: application/x-javascript"); echo "document.write('aaa')"; ?> これだと表示されませんでした。 >>234 JS中で<script>タグ使ってるから読み込まれないのでは… >>235 やはりそれなのでしょうか…? 他の方法が探せなかったためとりあえずこれでやってみました。 他の方法探してみます。 XMLHttpRequest を使えばいいと思うよってここ Ajax スレじゃねーか 何しにきてんのヨ >>236 document.write('<script type="text/javascript" src="test.php"></script>'); さすがにこれが思いつかないってのはやばすぎるんでないの YUIのカレンダーで今5月だと 5月・6月・7月 って感じには表示できるんだけど それを 3月・4月・5月 ってするには どこをどういじればいいでつか? 凄くくだらない質問で申し訳ないんだが、XMLHttpRequestと普通にブラウザがアクセスするときのHTTPリクエストってなんか違いがあるもの? 同一ホストとしかやりとりできない。 これがまた困るというか鬼門というか。 ウェブサービスも糞もねぇみたいな。 >>242 スミマセン、書き方が悪かったです. サーバ側から見たときです. さぁ。実装によるとしか言いようがないが、 普通に考えれば特殊な方法にする理由はないし、 むしろXMLHttpRequestのほうが生にいろいろいじれるから 仮に区別しうるとしても偽装できる余地は多いだろ。 >>244 ありがとうございます. 基本的にはブラウザと同じ挙動という認識で良いでしょうか? *** 宿 題 *** Yahooトピックス>エンタメ>J-pop内の最新ニュース5件をゲットせよ! ttp://dailynews.yahoo.co.jp/fc/entertainment/j_rock_and_pops/ [例] Yahooトピックス>国内>たばこ ttp://kinen.suruzo.jp/rssreader/getnewstabaco.php Ajaxを長簡単に作れちゃうよ。 http://www.hows-ajax.jp/ab/ 体験版もダウンロードできるよ。 はじめまして。 Webdesigning4月号を見て、jquery.jsを使用した タブ切替型の外部ファイル読み込みをやろうとしてるんですが、 外部ファイル内に埋込javascript(fanction呼出型) こんなの <SCRIPT language="JavaScript"><!-- testjs(); // --></SCRIPT> があると、 ページ表示が終わってしまいます。 何か、この回避方法があるんでしょうか? Ajax使いさん、助けてください。お願いします。 まずは本のサンプルどおりに作ってみては? 頑張って! >249 ありがとうございます。 実はサンプルはダウンロードして来たもので、 ちゃんと動作してタブ切替できるんです。 ですが、読み込む外部ファイルの内容を変更 してやろうとすると、おかしくなるのです。 で、いろいろやった結果、外部ファイル内に javascriptが埋込んであると、おかしくなる ようなのです。 それで、原因は解ったのですが回避方法が、 解らなくて... prototype.js 1.5.1を利用中です. 以下のコードでは,runした時にid1とid2のフォームエレメントをdisableにしています. ここでid1とid2をグループのようにして,グループごとにenable / disableを行う方法はありますか? 例えばid1,id2のエレメントを<group id='gid1'>〜</group>みたいに囲んで,gid1を指定することでグループごとに enable / disableが行えたりとか,そんな感じの方法があればベストです. というのも実際にはフォームエレメントが大量にあるので,1個ずつ個別にidを指定するのもアレだなぁと思いまして. よろしくお願いします. ---------------------------- <html><body> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> function execute() { Form.Element.disable('id1'); Form.Element.disable('id2'); } </script> <form method="get" action="" id="form1"> 1<input type="text" name="1" id="id1" value="a"><br> 2<input type="text" name="2" id="id2" value="b"><br> 3<input type="text" name="3" id="id3" value="c"><br> 4<input type="text" name="4" id="id4" value="d"><br> <button onclick="execute()">run</button> </form> </body></html> XMLHttpRequest Object for Ajax: Working Draft キタ━━━━(゚∀゚)━━━━!! ttp://www.w3.org/TR/2007/WD-XMLHttpRequest-20070618/ prototype-windowを使いたいんですけど、サイトに実装するとIEでは”インターネットサイト・・・は開けません”ってエラーが出て表示できないんですけど、なんかやばいことしちゃってるんですか? FireFoxだったら全く問題ないんですが 質問があります。 PostgreSQL+PHP4を使って、DBび保存されたデータをリストで表示するアプリを作成しています。 prototype.jsを使って、非同期でデータを更新しています。 リストの書き換えはAjax.Requestを使って、PHPでDBからデータを取得、Javascriptで整形して innerHTMLで流し込んでいます。 初回接続は<body>にonLoadでfunctionをコールしてリストを表示させて、以後はデータの削除 や更新の時に適時functionを呼び出してリストを更新しています。 以上は問題ないのですが、データを追加するときや修正した後にfunctionを呼び出してリストを更新しようとすると、 IE6ではキチンと動作するのに、Firefoxだとリストが更新されません。 alertやFirebugを使って追跡してみると、どうもFirefoxではデータ取得用のPHPファイルにアクセスしても データを取得してくれないみたいです(echoを使ってresponseを返しているのですが、 Firefoxだと空になってしまいます)。 ちなみにデータの追加はGreyboxを使ってモーダルウィンドウでやっています。 Firebugのコンソールでは、赤字で × http://www.hogehoge.com/makeList.php ←データ取得用PHP と出ていて、レスポンスは「読み込み中・・・」となっています。 >256 Prototype.jsのresponseTextに渡すための文字列です。 DBから読み込んだデータを区切り文字で連結したものが表示されます。 aaa|111[]bbb|222 のような感じです。 thickboxを導入しました。 Firefox2では正常に動作するのですがIE6だとなぜか上の方にずれて表示されてしまい、サムネイルの場所によっては画像の全体を見ることができません。 thickbox.cssをいじればいいのかとも思いましたがいまいちわからず…。 どうすればIE6でもウィンドウの中央に表示することができるか教えて下さい。 >>258 ajaxの質問かどうかというとそうではない気がするけど,まぁいいや 自分の経験からだけど,もともとのサイトのCSSが干渉している場合がある bodyとかラップするのに使っているdivにmargin,paddingを指定してると thickbox用のボックスがずれてしまうことがあった. IEでもfirebugみたいな検証ツールがあるはずだから確認してみ. IEで別サーバのデータを取得するのって無理でしょうか? >>258 解決したか? 漏れが遭遇したのはIE7で同様の症状。 DOCTYPE宣言がデタラメなHTMLページに設置してたからだ。 ・・・ var httpObj = null; function loadFile(fName){ httpObj = createXMLHttpRequest(); if(httpObj){ httpObj.onreadystatechange = getXMLdata(); httpObj.open("get",fName,true); httpObj.send(null); } } function getXMLdata(){ if((httpObj.readyState=="4")&&(httpObj.status=="200")){ outputXML(httpObj.responseXML); } else{ document.getElementById("xml").innerHTML = "Now Loading..."; } } function outputXML(XMLdata) { xml = XMLdata.responseXML; var livelist = xml.getElementsByTagName("live"); html = livelist[0].firstChild.firstChild.nodeValue; document.getElementById("xml").innerHTML = html; } </script> formのボタンでファイル名を与えてloadFile(aaa.xml)実行しています。 おんなじフォルダにaaa.xml入れてやってるんですが、(サーバー上で) NowLoadingのままでとまっちゃうんですが何でですかね。(stateかstatusが異常) xmlもちゃんと上がってるし、構文エラーも出ないし・・・どなたか教えてください。 あと、22行目のgetXMLdataって()いらないんですかね。参考書ではついて無いんですけど・・・ 22行目がどこをさしているやら…… ()はいらんよ httpObj.onreadystatechange = getXMLdata(); ↓ httpObj.onreadystatechange = getXMLdata; ニコニコ動画みたいに アマゾンのリンクと購入者などの情報を 表示させたいんだけど何をどうすればいいの アマゾンのAPIをどうこうとJAVA2行でできるというのはわかった >>268 JAVAを使いたいならそれ用のスレで聞けば? くだらない質問ですみません。 thickbox を使って画像を表示させようとしています。 <a href="test.jpg" title="test" class="thickbox"> でリンクを貼って、そのページを単体で表示させた時はうまく行くのですが その箇所を、jqueryの .get/.html で置き換える形で取得した場合、普通に画面が切り替わって画像が表示されます。 .getを使っているページでthickboxのCSS/JSともに読み込んでいるのですが、動作しないのはなんでか分かる方いますか? >>271 なにをしたいのかわからないけど,ロードしたい画像とテキストを変えたいなら attr()とremoveAttr()を併用すればいいんじゃないの? prototypeのAjax.updaterをつかって、2つ以上の値を更新することは可能でしょうか? 通常 var myAjax = new Ajax.Updater(changeId1,url,{method:'post',parameters:pars}); みたいな感じで「changeId1」しか更新できないように思うのですが、 jsonなどを利用してでもOKなんですが。 よろしくお願いいたします。 難しい質問だったのでしょうか? 二日経っても、何の回答も無し。 それともオレが馬鹿すぎるのでしょうか? そのオブジェクトはよく知らんけど、 $(changeId1).innerHTMLを書き換えてるだけだから Ajax.Requestで簡単に作れそうねー。 そそ、なんでRequestを使わないか疑問。 {"box1":"Box1の内容,"box2","Box2の内容"} が返ってくるとして onSuccess:function(res){ var obj = eval(res.responseText) for(key in obj){ $(key).innerHTML = obj[key]; } } のようなコールバックを定義しときゃいいんでね。 typo {"box1":"Box1の内容","box2":"Box2の内容"} う〜ん。 やっぱりオレが馬鹿だったらしい。 Request勉強し直します。 ありがとうございました。 別件で、eval('{"key1":"Vol1","key2":"Vol2"}') が動かないことを始めて知った。(invalid label) eval('[{"key1":"Vol1","key2":"Vol2"}]')[0] とか、 eval('var obj = {"key1":"Vol1","key2":"Vol2"}') なら動く。 お恥ずかしい...orz >>278 いろいろ考えた末、 var myAjax = new Ajax.Request(url,{ method: "post", parameters: pars, onSuccess: succFunc(res){ var obj = eval(res.responseText); for(key in obj){ $(key).innerHTML = obj[key]; } } }); というのをfunctionに組み込んだところ(ほとんどパクリですね)、 FIreFoxのエラーコンソールに missing } after property list 「 onSuccess: succFunc(res){ 」 みたいなメッセージがでてきてしまいました。 何が問題なんでしょうか? ここの文法→ onSuccess: succFunc(res){ >>285 役に立たなく、かつつまらない回答ありがとう。 prototype.jsをprototypeと呼ぶ奴なんてこんなもん >>ここの文法→ onSuccess: succFunc(res){ って、エラーメッセージそのものだし 「戻る」ボタン対応ということで色々調べてみたんですが、dsHistoryというのを見つけました。 ですが、いまいち使い方が解りません。 どんな風に使用するのでしょうか? ttp://www.akmattie.net/blog/dshistory/usage.html htmlでページを作り、そのページ内でどこのリンクをクリックしたか、について調べ、 その座標をテキストファイルとしてローカルに保存したいのですが、Ajaxでできるでしょうか? クリックした位置はマウスイベントで座標データを取ってくればいいというのは解るのですが、 その座標データをテキストファイルに配列としてローカルに保存したいと思っています。 ローカルからの読み込みはできるようですが、ローカルへの書き込みはできますか? ご教授、よろしくお願いします。 >>292 一旦サーバに送ってファイルとしてダウンロードさせる >>293 ありがとうございます。 サーバから取ってくればいいんですね。 もう一つ質問なんですが、配列を扱う際、自分は三次元の配列を用いたいと思っています。 ユーザに変数を入力させて、それを配列のポインタとして扱う予定なのですが、 リンクをクリックし、ページが変わった際もその変数を渡す事はできますか? >>294 ページ全部が変わるならセッションかクッキーで。 更新されないページがあるならそこの変数にしておく。 >>295 ありがとうございます。 更新されないページというのはフレームのようなページを指すことでよろしいでしょうか? >>297 ありがとうございます。 大変参考になりました! あるネット上のサーバから EUCで書かれたHTMLをXMLhttpRequestで取得したいと考えています。 ただ受け取ったデータが文字化けしてしまいます。 色々試した結果、サーバがレスポンスヘッダの Content-type に text/html だけでなく chaeset: euc-jp まで付けてくれると 大丈夫でした (ローカルプロキシを立ててレスポンスヘッダを書き換えて確認)。 これだと汎用性がないのでなんとかコード上で 取得データをEUCと認識させたいのですが 何か常套手段のようなものは存在しますか? 呼び出し元ページの文字コードがデータの文字コード認識と 関連性がないかと、呼び出し元ページを EUCで書いて、 metaタグ内で文字コードに EUC の宣言をしましたがダメでした。 抜粋で申し訳ないですが text = httpObj.responseText; text.charset = "euc-jp"; といったコーディングを見かけましたがNGでした。 そもそもtextって単なるStringオブジェクトですよね? charsetプロパティなんて他のサイトでみかけてことないし・・・。 これは眉唾ですかね? >>299 ファイルをUTF-8に変更できないならXMLhttpRequestはあきらめる どうしても EUC-JP でないといけないのでも無い限り UTF-8 にするに限る。 あと、今時 HTTP ヘッダが文字コードを送ってくるのは当たり前なので、 汎用性が無いなどと考えなくても良い。 その上でコード上でなんとかしたいって言うのなら、 (省略されました。。。続きを読むには可愛い女の子を紹介してください) >300,301 ありがとうございました。 他の方法を考えてみます。 そもそもXMLHttpReqで取得したデータを バイナリで扱えればいいんですけどね。 「Ajax」って言葉を最初に使った、というこの記事の日本語訳、どこですか? Ajax: A New Approach to Web Applications ttp://www.adaptivepath.com/ideas/essays/archives/000385.ph コピペちょっと間違ってました。すみません。 ttp://www.adaptivepath.com/ideas/essays/archives/000385.php prototype.jsって商用で使っていいんでしょうか?調べてもわかりませんでした。 http://www.prototypejs.org/ トップページの一番したにライセンス書いてある MITライセンス ドキュメントはCreativeCommonsライセンスな 条件付きで商用可能 詳しくはぐぐれ そのページは見てないが MIT の商用可能に条件が付くとは初耳だ prototype.jsはよくあるMITスタイルから表示義務を削除してるね 条件はあるぞ? まあそれが緩いのがMITなわけだが 質問させてください。 javascriptで、指定したIDが存在するか確認する場合、 if (document.getElementById('hoge') == null) alert(1); とか書くと思いますが、これをVBScriptで実現するにはどのように書けばいいでしょうか? 以下のように書くと、 if document.getElementById("hoge") then 「エラー:オブジェクト型の変数は設定されていません」というエラーが発生し、 if IsObject(document.getElementById("hoge")) then と書くと、存在するしないに関わらず必ずTrueが返されてしまいます。 >>312 <script language="vbscript"> のことです。 IEで動けばいいのでVBで書いちゃったんですが、やっぱりいまどき こんなの使ってる人いないですかね。 >>314 お返事ありがとうございます。 さっそく試してみましたが、IsNull()では必ずFalseが返されるようです・・・。 いろいろ試しましたが、どうやらVBでは無理みたいですね。 しょうがないのでdocument.allからループで回して判定する方法で当座は凌ぐことにしました。 アップルのトップページの「Hot News Headlines」のように 1行ニュースを連続して表示させるスクリプトを探しています。 できればprototype.js等を利用していて設置が楽な物、なにかないでしょうか? ご存知のかた、いましたら教えてください。よろしくお願いします。 http://www.apple.com/jp/ >>316 そこもprototype.jsを使ってるから参考にすれば? ticker.jsがそれ >>317 お返事ありがとうございます。 参考にしたいところなんですが、スキルがないので変数名を変えるぐらいしかできないので、 丸パクリになってしまいそうです。 さすがにまずいので、サンプルとしてご自由にどうぞみたいに配布してるところが あればうれしいのですが。。 >>318 いっとくけど、いくら改造しても著作権は消えないからな ttp://pc-giga.com/snap/ このページみたいにスクロールさせるのってどうやってるの?? うお、すげえ! ttp://youmos.com/news/image_menu これの応用じゃね? >>320 glider.jsとprototypeで検索すると幸せに慣れるかも。 最近コレ借りて似たような事させた。 リンク先の説明をPopupで別のページを呼び出して表示したいのですが、可能でしょうか・・・ たとえば、<a href="http://www.yahoo.co.jp/ ">Yahoo!JAPAN</a>とあった時、 mouseoverでyahoo.htmを読み込んで表示したいということです。 jTipというのを見つけたのですが、 <a href="yahoo.htm?width=175&link=http://www.yahoo.com " としないといけなくて、JavaScript未対応のものだとyahoo.htmに移動してしまいます。 もし、可能であれば方法を教えてください。 質問させて下さい。 new Ajax.Request("http://www.2ch.net/ ", { method:"get", onSuccess: function(xmlhttp) { $("res").innerHTML = xmlhttp.responseText ; } }); 上記の様にしてgetすると、文字化けちゃいます。(IE) 対策ってできますか? 327です。質問が悪かったでしょうか? 放置されてます。。。 フルでhtmlを書いた方が良かったでしょうか? charset=x-sjisのページをresponseTextを使うと文字化けしちゃうって 問題なのかなぁと思ってますが、対策知ってたら教えてください。 host1 にPOST → Location: host2 → 別HOSTなので終了。 となった時に、getAllResponseHeaders を使ってもLocation: が取得できません。 取得する方法はないでしょうか? また、Ajaxでリクエストした時に、302 Location: が返ってくると、 自動的にそのURLにリダイレクトする様になっているようですが、 これをやめさせる方法はないでしょうか? >>327 どこにいったか知らんから追いかけないけど、取得するURLの 拡張子が.txt→文字化け 拡張子なし→文字化けしない と挙動が代わるねIE6不思議。 文字化けするほうはgetResponseHeader('Content-Type')するとcharset指定が消えてる。 すんません、>>332 は勘違い。キャッシュが悪さしてただけだったわ。 企画力 ↓ デザインセンス ↓ ソフトウェア操作能力 DreamWeaver ↓ ブラウザ毎の表示の差の知識 高レベルなプログラム能力 HTML→XHTML→CSS→SEO→JavaScript→DOM→AJAX ↓ ↓ ↓ プログラム能力・データベースの知識 ↓ PHP+MYSQL ↓ ↓ ↓ 更なるプログラムへの知識 ↓ PEAR→SMARTY ↓ デザイン能力・色彩能力・ソフトウェア操作能力 フォトショップ・イラストレーター ↓ アニメーション作成能力・プログラム能力・ソフトウェア操作能力 フラッシュ→ActionScript 他、サーバー、ドメイン管理、セキュリティーへの注意能力、最新技術への知識 WEBデザイナーすごすぎ! CSS→SEO→JavaScriptの連結がわからん prototype.jsのEvent.observeを使ってイベントを追加したいのですが、 引数のある関数(処理)を割り当てることはできないのでしょうか? Function#bindAsEventListenerを使え 現状よくわからないけど、調べて実装してみたいと思う。 アドバイスをありがとう。 くだすれAjax(超初心者用)って、 ネット関係:Web制作 PC等:プログラム 二つあるのね。 くだらない質問ですみません。 下のコードをサーバーにアップ後、 IE7で開いた場合「データはまだ利用できません」 と出るのは最低限何が足りないんでしょうか。 <html> <head> <script type="text/javascript"> httpObj = new ActiveXObject("Msxml2.XMLHTTP"); httpObj.open("GET","data.txt"); document.write = httpObj.responseText; </script> </head> <body> </body> </html> function sucess(httpObj) { var obj; var item; objs = eval( '(' + httpObj.responseText + ')' ); for (i = 0; i < objs.length; i++) { item = eval('(' + objs[i] + ')'); $('result').value += item; } } prototype.jsのAjax.RequestでonSuccessのときの関数がこれなんですが、 forループが回ってくれません。alert出して調べてみたところ、 item = eval('(' + objs[i] + ')'); で、処理がとまってる感じ。 ちなみにサーバーから返ってくるのは、JSONの配列です。 ちなみにIE6とFirefox2.0です。 JSONが返ってきてることは確認しました。 >>345 Firefoxのエラーコンソールには何も出てないです・・・。 >346 alert(typeof(objs)); で何が表示される? ちなみに、for ループの中で alert(typeof(objs[i])); でも結果は object。 alert(typeof(item)); は動きません。どう見ても item = eval('(' + objs[i] + ')'); で処理が止まってます。 自己解決。 Zend Frameworkというフレームワークを使ってるんだけど、それが返す JSON形式が間違ってる様子(略式なのか?) 要素が複数あるとき、 {"hoge": [{}, {}, {}] } と返して欲しいところを、 [{}, {}, {}] だけ返ってきてた。 AjaxってJSじゃないんですか? どんなことするんでしょうか? 例を例えて分かり易く説明お願いします >>352 たとえば今俺が女の子から告白されたとする。 まーそういうことだ。 女児にあんなことやこんなことをすると聞いて飛んできました >>354 あ?ほんとに分かってんのか? 「はい」ってのはな「はい、わかりました」を略して「はい」なんだよ 頭だけでわかったって言わねんだぞ?学校の勉強じゃねえんだから 社会では?お?実際に出来て初めて「わかった」言うんだ 出来もしねえ奴が軽々しくはいなんて言うんじゃねえよ お?聴こえてんのかよコラ?あ? やる気がねえんだったら来なくていいぞ? お前ナメてんだろコラ? 仕事中だと思って優しく口で言ってりゃ調子に乗ってんじゃねえぞコラ?お? 外で遭ってたら今頃カタワだぞお前?とっくに?あ? Ajax.PeriodicalUpdaterを使用してfrequency: 0.1 つまり0.1秒ごとにリロードして表示する画面を作ってます。 サーバ側プログラムはPHPを使用しています。 apacheを使用しているのですがaccess_logに0.1秒毎にそのページを開いているとログがはかれてしまいます。 そのサーバ側のPHPだけログをとらないように設定はできないでしょうか? httpd.confの設定でPHPプログラム名の指定でログを取らないように出来ましたが、出来ればPHP側でやりたいです。 httpd.confの改修は避けたいのですが、なにか方法はあるでしょうか? >>330 同じことで困ってて、ググってここに来ました。 で、答えわかったの? 今Ajaxのライブラリを使うとすると何がいいですか? とりあえずprototype.jsにしようかと思っていますが お勧めがあれば教えてください。 Licenceさえ許せば、重量級ライブラリはDojoよりExtJSを薦める。 YUIは最初飛びついたけど、どんどんスパゲッティになってる印象が… でも初心者に勧めるなら、今はjQueryかな。 つーか何をするかも決まってないうちからライブラリ選ぶなんておかしいよー? 現在、POSTで受け取ったデータに応じてPNGイメージを生成し、base64encodeした物を返すPHPを作り、 JavaScript側でこれをIMGタグのSRCに突っ込む、という処理を行っているのですが、 IEはdataスキームに対応していないためにこの方法が使えないことを知りました。 そこで質問なのですが、IEでこのような仕掛けを実現させるためにはどうすればいいでしょうか? >>371 img.src = 'hoge.php'; >>372 ありがとうございます。 この方法の場合、どのタイミングでPOSTすれば良いのでしょうか。 POSTデータを鯖に保存してセッション管理くらいしかないんじゃ? >>373 POSTじゃなきゃ駄目なら>>374 の言うとおり、AjaxでどっかにPOSTしたあとimgのsrcに突っ込む <img src="hoge"> はGETだから >>374-375 フォームのテキストボックスやテキストエリアなどに書かれた文字が変更されるたびに画像に反映して 更新したかったため、最初はAjaxを使わずにフォームのonchangeイベントからimg.src='hoge.php?data=xx' のようにGETしていたのですが、データサイズの関係からPOSTに変更したんです。 確かにPOSTしたセッションを管理しておけばimg.src='hoge.php'で画像を返せそうですね。 やってみます。ありがとうございました。 # こういう処理って一般的じゃないんですかね・・? WEBビーコン仕込む時に似た様な事するよな でも、これが迷惑だったりすることもある... igoogleのようなタブとガジェットで構成されたページを作るにはどうすればいいですか Webサイト制作初心者スレで誘導されてきました。 thickbox2.1で画像を表示させています。 公開している画像を同じファイル名で異なるサイズ、比率の画像に差し替えると ブラウザが元の画像サイズを記憶しているのか 画像を表示させたときに比率が横や縦に引き延ばされて表示されてしまします。 これを正しい比率で表示させるようサイト側から指定する方法はないでしょうか? >>379 なんでここに誘導されるんだよw imgタグにwidthかheightが付いてないか? >>380 すみませんここじゃまずかったですか もちろんimgタグが間違っているわけではありません 別のPCで初めてその画像を表示させる分には正しい比率で表示されます 差し替え前の画像を表示させたことのあるPCでのみ比率が狂ってしまうのです 閲覧者側では一時ファイルを削除しても直らないのでどこで記憶しているのかすらわかりません そもそもスタイルシートか何かで大きさを指定するのが当たり前なんだが >>381 どうやって表示してんの? そこのコード貼ってみ 画像のリンクにこんなのが付いてるとそのサイズになると思うけど height=220&width=400 >>383 ↓差し替え前 <a href="***/01.jpg" class="thickbox"><img src="***/01.jpg" width="160" height="120" border="0" /></a> 画像サイズ=W640×H480 ↓差し替え後 <a href="***/02.jpg" class="thickbox"><img src="***/02.jpg" width="120" height="160" border="0" /></a> 画像サイズ=W480×H640 これを開くと画像が横に引き延ばされW640×H480で表示されてしまいます >>382 >>384 thickboxで表示させる画像のサイズって指定できるんですか? 言われて見ればそんな指定はどこにも記述してません >>386 ごめんまちがえたwww ファイル名同じだと思ってください >>387 同じでもわからん Firefoxでそうなった経験はある キャッシュ削除やCtrl+F5で更新してるうちに直った Prototype Window Class を使って new Window()で 子画面を表示させ 子画面で選択した情報を 親画面に渡したいのですが、 何かよいサンプルはないでしょうか? window.open()だとopenerを介して親画面をいじれると思うのですが、 Prototype Window Classの場合、親画面のオブジェクトがわかりません。 よろしくお願い致します。 自己解決です。 window.parent. で親画面にアクセスする事ができました。 では。 $(function(){ jQuery.ajax({ url : "./number.txt", type : "get", success : function(data){ document.write(data); } }); }); ファイル内にあるテキストを処理したいと思い いろいろググって上の方法で一応表示は出来ました。 関数内でならdataの値を表示したりいろいろ処理できそうですが 関数の外で処理するにはどうすればいいでしょうか 自己解した・・・かも ほかに適当な関数作って、「function test()」とか で、 $(function(){ jQuery.ajax({ url : "./number.txt", type : "get", success : function(data){ test(data); } }); }); こうやってその関数に渡せば万事OKなんでしょうか 「Google AJAX Feed API」を用いて、下記のサイトのように ブログのサイドバーやサイトに表示させる方法を教えてください。よろしくお願いします。 http://www.webmemo.jp/star/update.php Google AJAX Feed API のドキュメントにあるサンプルで FA です 本当にありがとうございました cometサーバの構築方法を教えてください。 何か参考になる書物でもうれしいです。 jQuery UI を使ってgoogle map のようにドラッグして表示位置を変えられるフィールドを作りたいのですが、ちょっと困っていることがあります。 <div id="dd"> <div style="background-image: url('sample1,png'); width:2000px; height:500px"></div> <div style="background-image: url('sample2,png'); width:2000px; height:1500px"></div> </div> <script type="text/javascript"> $('#dd').draggable(); </script> みたいな感じなのですが、これを実装するととりあえずドラッグアンドドロップはできました。 しかし、width :2000px とあるように、画面をはみ出る大きさの<div>要素をドラッグしようとしているのですが、例えば、ずっと左上に向けてドラッグしていって、 一番右下(2000px 2000px)が表示領域に表示されたら、それ以上左上にドラッグできないようにしたいのです。逆の場合もまた然りです。 現状では、一番端まで行ってもドラッグでき、その先の何もない部分まで表示されてしまうのですが、これが表示されないように&ドラッグできなくなるようにしたいのです。 どなたかアドバイスいただけたら幸いですm(_ _)m >逆の場合もまた然りです。 というか、他の三方の場合も、 ですね。。 よろしくおねがいしますm(_ _)m jQueryで質問です 文字コードがshift-jisのhtmlファイルでも使えます? <script charset="utf-8" (ry ajaxでリクエストを送るとき、 httpのリクエストヘッダを自分で設定することってできますか? >>404 setRequestHeader()で jQueryでload()で呼び出したいhtmlがshift-jisなんですけど、charsetを指定してやるとか文字化けさせない方法ありますか? 例えばjQuery.ajax()でcharsetを設定しload()と同じ動作をさせるとか すいません 携帯で書いたらおかしなことになりました Ajax.Requestを複数投げてそのonComplete関数が全て終わったときに 処理をしたい場合ってどう書けばいいんでしょうか 投げるときにcount++ コールバックでcount-- countが残ってたらコールバック処理中断 >>411 ありがとうございます。 asynchronous : falseでよかったみたいです。 質問させてください。 ttp://5am.jp/jquery/jquery_ui_tabs/ これを使ってタブを作ったのですが、ページの読み込み時にかならず、1 番目のタブが開いている状態になっています。 任意のタブを 開いた状態に、または開いているタブのクリックでタブを閉じる方 法はわかったのですが、 ページを開いたとき、すべてのタブ が閉じている状態にする方法がわかりません。 どなたかご教 示願います。 質問です。 AJAXでPOST送信するさいに、テキストをEUC-JPで送りたいのですが、 ページの文字コードがEUC-JPでも、送信データはUTF-8になってしまいます。 EUC-JPで送るにはどうすればいいでしょうか? また、受信データについてもEUC-JPのデータを受け取っているのに、 ブラウザ側がUTF-8とみなして表示してしまいます。 こちらは、HTTPレスポンスの Content-Type に charset=EUC-JP を入れたら、正しく表示できたのですが、 レスポンスヘッダを変えられない場合、何か対処方法はありませんか? JavaScript はブラウザによって文字コードが違うから難しいんだよな〜 すみません。inputボックスに値を入れて、次のinputボックスにカーソルが移動したら、 Mysqlにデータを入れていくのをAjaxで作りたいんですが、どのようにしたらいいのかわかりません。 初心者過ぎる質問にお手数ですがお知恵をお貸しください。 inputのフォーカスが変わる度に、非同期でデータをPHP等のサーバスクリプトに送るという風に書けば良い サーバスクリプト側でDB保存の処理を書く jQuery 非同期 MySQL PHP などのキーワードで一度検索を checkboxが、手動で選択された場合であれ、スクリプトで内部的に選択された場合であれ、 変更されたかどうかを取得したいのですが、onchangeだとうまく動作しません。 いい手があれば教えてください。 Prototype.jsのAutocompleterを使って、FireFoxでオートコンプリートしようとしても、 かな漢からの入力ではキーダウンのイベントが発生しないらしく、コンプリートしてくれません。 逃げるいい手があれば教えてください。 ローカルでも駄目だったんですけど、 ttp://javascriptist.net/ref_scriptaculous/autocompleter.html から ttp://javascriptist.net/ref_scriptaculous/autocompleter.sample.html で試したら駄目でした。 質問お願いします jQueryで、iframeを閉じたときに親画面の一部を書き換えようと思っています。 iframe内に以下の感じでjQueryを書いたところ、 FireFoxでは上手く行ったんですが、IE8では書き換えられませんでした。 IEでも親画面を書き換えられる方法を教えてください <script> $(document).ready(function(){ $(window).unload(function() { $('#ID', window.parent.document).html("<img src='aaa.html'>"); //↓の書きかたでもIEでは上手くいかなかった //$('#ID', window.parent.document).get(0).innerHTML =("<img src='aaa.html'>"); }); }); </script> >>428 ありがとうございます でもエラーメッセージは出ていないです… $(window).unload(function() { alert('unload'); としてみたところ、IEだとalertが表示されないので(FireFoxでは表示される) unloadイベントが発生していないのでは?と思ったんですが IEだけそんなことあるんでしょうか? jQueryは1.3.2を使っています jqueryのjquery-ui-1.7.2.custom.min.jsを使ってるんですが、 あるタブを表示したときに、何かイベント的なものは拾えないんでしょうか? OnClickだと表示される前なので使えませんでした。 >>427 関係ないけどjavascript内のHTMLもW3C標準で書こうな ×<img src='aaa.html'> ○<img src='aaa.html' alt='aaa' \/> 超初心者です。(Web開発経験なし) ASP.NET+Ajax でアプリケーション開発の勉強をしたいと思っています。 ASP.NET側からAjax(javascript)の呼び方とか処理の仕方が全く分からないので、参考になるサイトとか教えてください。 あるいはオススメ参考書とかありますか? ethnaのフレームワークからだとhtml_ajaxを使うのが普通なのかなぁ? >>431 処理後にコールバック追加すればいいんじゃない? くだらない質問ですいませんが、 Ajaxの読み方は、「あじゃっくす」、「えーじゃっくす」 どちらが一般的ですか? 一般的っつーか、「あじゃっくす」は 「いんすとろーる」みたいな位置付けだと思ったほうがいい。 jQueryで、はまってます。どなたかお助けを・・・ windows apacheのローカル鯖でテストしています。 $("#load1").load("./load.html"); 単純な読み込みがIEのみできません。 Firefox Chorome Safariは問題なく読み込めました 心当たりある方いらっしゃいませんでしょうか http://www.a-jax.net/ ここ使わせてもらってます。 ソースもあるので助かります。 >442 ttp://e0166.blog89.fc2.com/blog-entry-465.html にapacheの設定についての記載があったりするけど、チェック済み? 複数のページに流用しているhoge.tmpというファイルが有りまして、 ttp://mrs.suzu841.com/yomoyama/scripts/page_2010062401.html こちらを参考にインクルードしてみたのですがその部分だけ文字化けしてしまいます。 保存時の文字コードが良くないのだと思いShift-JISからUTF-8に変更してみると prototype.jsを利用したページでは文字化けしなくなったのですが その他のphpやperlでインクルードしたページでは文字化けしてしまいます。 この場合どう対処するのが良いのでしょうか? >>427 >><img src='aaa.html'> imgタグのsrcにhtml突っ込んでるのは初めて見たな・・ ただのサンプル?それとも何かのテクニックなのか? すごく初歩的なことですみません xmlじゃないhtmlをXMLHttpRequestで取得してページに挿入するのって テキストとして加工してinnerHTMLでページに挿入するものですか?それが一般的ですか? $("#ABC").click(function(){ }); これを別関数から呼ぶにはどうすればいいでしょうか。 以下のように書いてみましたが動作しません・・・。 $("#DEF").click(function(){ $("#ABC").click(); }); Google AJAX Feed APIを使ってFC2ブログの記事データを 別サイトに表示させているのですが、テキストデータは問題ないのですが 画像データが表示されたり、されなかったりマチマチです。 別のブラウザやOSで見ても同じ症状なのですが 同じ経験をした方はいらっしゃいますでしょうか? ツイッターみたいに、ページのイチバン下が表示されたら 続きのページを読み込むのって、どうやるんですか? htmlで作ったファイルにAJAXの構文を書いて保存をして、きちんと動いたんですが、PCリカバリ後に動かなくなりました。どうしたら、動くようになりますか?よろしくお願いします。 >>454 動いてた状態までリカバリすれば良いと思うよ。 教えてください。 jquery $.ajax()での通信前後(beforeSendとcomplete)に $(".SUBMIT_LOCK").attr( "disabled", "disabled" ); $(".SUBMIT_LOCK").removeAttr( "disabled" ); でボタンを無効化したいと思っています。 Firefoxでは問題なく動作しますが、IE7ですと上記がうまく動きません。 disabledした後にalert()で処理を止めるとボタンが正常に無効化されます。 $.ajax()が呼び出された時点でアニメーションgifが止まり、ブラウザが フリーズしたようになるので、それが原因と思うのですが、何か対策は ないものでしょうか。 Ajaxでの画面制御について教えてください。 ブラウザの戻るボタンを意識しなくても済むように、一つのURLで検索画面→一覧画面→詳細画面→編集画面→更新確認画面→更新結果画面と画面遷移させたいと考えています。 その場合、一つのhtmlファイル(実体はjspファイルの予定)の中に、全ての画面のデザインや実装コードを記述するのは現実的ではないですよね。 この辺の画面単位のコードの切り分け、画面制御の仕組みというかセオリーがありそうだと思うのですが、Ajax関連のサイトを見てもページ単位の実装方法について書かれた物ばかりでした。 実際に開発している方のお話が聞ければ助かります。 ヒントありがとうございます!色々記事が見つかりました。 ターゲットはiOS系のSafariなんだけど-Aajaxでデータを貰う時(B→A) BでHTML書き出してからAでinnerHTML と BでxmlやJSONなりを作成してAでDOM だと、ベンチはどっちが早いの? 知ってるエロイ人がいたら教えてください(´・ω・`) ※DOMの方が早ければDOMを勉強します MAMPでローカルにphpテスト環境を走らせています(現在勉強中の立場です) JSONデータの扱いについて質問があります test.jsonというファイルがあって、 たとえばJSの$.getJSON()で通信しようとするとき、拡張子が test.jsonのままだと読み込みませんが、 test.json.phpとすると通信に成功するのはなぜでしょうか? まったく同じセットでレンタルサーバーにアップしてテストしてみると今度は逆に test.json.phpだと読み込みませんが、 test.jsonとすると通信に成功します。 いたらないことばかりですがご教示いただけますでしょうか。 自分としてはどちらでも同じ拡張子でテストができるといいのですが。 ajaxでフォームの内容送信する時、無効な文字の除去とかチェックってどこまでするのが一般的ですか? 例えば掲示板のテキストエリアとかを送信する場合、制御コードとか表示されない文字コードとか除去してから送信するもんですかね? サーバー側で除去するのは前提としてです。 >>467 送信する内容と回線の太さ、サーバの処理能力によると思う。 特に送る内容もたいした量じゃなく、サーバの処理能力も十分高ければ、 サーバ側でバリデーション処理しても問題ない。 クライアント側でバリデーション処理するのは、回線にもサーバにもやさしいけれど、 JSオフの環境だと使えないので、代替処理の方法(やっぱサーバ側で)を同時に実装しないとユーザビリティ的にうるさいクラでは駄目(仕事レベルでは)。 趣味ならすきにして... >> 468 ありがとうございます! 送る量もたいしたことなく、サーバー処理能力も十分と思います。 ユーザビリティ的な意味でのバリデーションはjs側で行います。 プラス脆弱性対策として危険なデータをjsでも除去するかどうかというところを悩んでいます。 言葉足らずで申し訳ありません。 高度な質問だな ググってすぐ分かるような意味でのajaxを訊いているわけではなかろう 確かに! クラの中にはJavaScriptでWeb画面に変化を与えることをAjexだと思っている勘違いも居るし... 最近気づいたんだけど、google検索のページングがajaxになってたんだな。 ヒストリーバックしてもリクエスト走らないし、完全に通常の画面遷移と同じ感じで操作できるわ。 ああいうの自分のサイトにも入れたい。 jquery+perl+htmlでツール作ってるけど、どう切り分けるのがいいんだろうか? 3つのファイルを行き来するのは面倒で、 HTMLはほぼbodyだけでJS+perlのみにしたほうがいいのかな? >>470 俺が答えてあげよう。 それは私たちに残された希望の1つと同時に絶望でもある。 一度手を出すとクロスブラウザ対策などいくつもの地獄を見ることになる。 しかし、それを克服したときかつて見たことのないような世界にたどり着くだろう。 恐れることはない。ただ前へ進め。時間と覚悟をもって旅立て! $.ajax({ url: 'hogehoge.php', type: 'POST', data: 'hogeId=abc', timeout: 30000, error: function(xhr, ajaxOptions, thrownError){ }, success: function(xml){ } }); といったかんじでPOSTした後、 エラー処理内でPOST時のデータ(hogeId)を参照することはできないでしょうか? サーバからエラーコードを返すケースであればレスポンスで渡せるかと思いますが、 例えばタイムアウトとなった場合やProxy等でエラーが返された場合に、 どのように取得したらよいか・・・ すみません、JavaScriptの質問スレで質問しなおしました。 オールAjaxのページを作りたいのですがナビゲーションクリック時どうすればいいでしょうか メインコンテンツを表示する部分をいくつも作り最初に読み込ませておくのか、一つで頑張ってその都度読み込ませるのかで迷ってます 分かる人がいれば教えてくだちい。 Google+の「+1」の数だけ取得したくて、以下のようなコードを書いてみました。 $.ajax({ type : 'get', url : 'https://plusone.google.com/u/0/_/+1/fastbutton?url=' + targetURL, dataType : 'jsonp', success: function( data, textStatus ) { //読み込み成功 }, error: function( XMLHttpRequest, textStatus, errorThrown ) { //読み込み失敗 } }); で、実行させると、必ず失敗するんですが、Firebug(1.9.1)でチェックすると、レスポンスの欄には、ちゃんと目的のHTMLが届いています。 いろいろ試して、dataType : 'script'では成功となりますが、レスポンスには、そのまんま何らかの関数のコードが届いていました。 どうすれば、Google+の「+1」の数だけ取得できるでしょうか?! 過疎化したスレに書き込んでしまいましたので、こちらでお尋ねしたいと思います。 分かる人がいれば教えてくだちい。 Google+の「+1」の数だけ取得したくて、以下のようなコードを書いてみました。 $.ajax({ type : 'get', url : 'https://plusone.google.com/u/0/_/+1/fastbutton?url=' + targetURL, dataType : 'jsonp', success: function( data, textStatus ) { //読み込み成功 }, error: function( XMLHttpRequest, textStatus, errorThrown ) { //読み込み失敗 } }); で、実行させると、必ず失敗するんですが、Firebug(1.9.1)でチェックすると、レスポンスの欄には、ちゃんと目的のHTMLが届いていました。 いろいろ試してみると、dataType : 'script'では成功しますが、レスポンスには何らかの関数のコードが届いていました。 どうすれば、Google+の「+1」の数だけ取得できるでしょうか?! FacebookやTwitterみたいには行かないんですかね?! (Ajax以外の方法でも構いません) ものすごい初歩的な質問なんだけど JavascriptとAjaxの違いって、 Ajax Javascript ・.xml使える .・.xml使えない ・ページ遷移なしで使える ・ページ遷移しないと動作しない これだけでしょうか? ものすごく噛み砕いて言うと、javascript+ネット通信(xmlHttpRequest)=ajax だから違いというよりも(別言語ということでなく)、javascriptの部分的な拡張がajaxになる 違ってたら他の詳しい人よろしく 拡張というのにちょっと違和感が JavaScriptの「一部」じゃない? JavaScriptができることの一部分に名前付けちゃっただけ こういう質問が出てくる(稀によく見る)くらいだし、 ぶっちゃけAjaxと名付けたのは失敗だと思う 言葉の一人歩き 上レスの言う通り。 ただ、>>487 の区分けは間違っている なぜなら、AjaxはJavaScriptから成り立っているから。 なので、AjaxのできることはJavaScriptでもできる。 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね 創価死ね ある既存の投稿画面に別のURLから投稿し、その後同じ画面(actionのURLにジャンプしない)の ままでいられるようにするには、どのようにしたらよいでしょうか? 例) http://example.com/index.php に下記のフォームがあった場合、「書き込み」ボタンを 押すとhttp://example.com/write.cgi が実行され、http://example.com/write.cgi にジャンプしてしまいますが、 ジャンプせずhttp://example.com/index.php の画面のまま次の処理を待ちたいです。 <form method="POST" action="http://example.com/write.cgi' name="fuga"> <input type="hidden" name="BBS" value="hogehoge"> <input type="hidden" name="KEY" value="hogehoge"> <input type="submit" name="WRITE" value="書き込み"> 名前 <input type="text" name="NAME" size="20"> E-mail: <input type="text" name="MAIL" size="20"> </form> >>492 人によってやり方が違うと思うから「俺の場合はこうやる」と前置きしておいて 1) submitボタンで行われるサーバリクエストをJavaScriptでキャンセルしておく 2) submitボタン押下時のイベントをJavaScriptで仕込む 送信するデータを整えて、CGIにAjaxで投げる 3) 帰ってきたデータを解析してページ内に反映させる やることはAjax通信の基礎なので、その辺りはググるとよし とりあえず流れだけは書いておいた PHPで自分のサーバに掲示板を作ってます。 そこにはスレッド一覧があるのですが、掲示板に書き込みがあった際に Ajaxで新着件数を表示させるように出来ますか? 具体的な機能のイメージは、 2ちゃんのスレッド一覧(http://toro.2ch.net/hp/subback.html )で、最初読み込んだ時に 次のスレのレス数が495あったとします。 「くだすれAjax(超初心者用) (495)」 2時間後、スレッド一覧をアクセスしたら、レス数が501に増えてました。 この時、 「くだすれAjax(超初心者用) (495) ←NEW6件」 と言うような表示をしたいのです。 これが出来るかすら分からないので、とりあえず質問してみました。 サンプルなどがあったら嬉しいです。 恐らく専ブラで「新着○件」と出るからブラウザでもそれやりたいって話と思うが、普通はクッキー使うからAjax関係ない クッキーに既読件数を保存するやり方だから、ユーザがクッキーを削除したらデータ消えるし、クッキー拒否設定なら全く使えない 特定のユーザとしてログインする方法ならAjaxでサーバに保存することもできるけど、ログイン型掲示板なんて相当クローズドだし微妙 >2時間後、スレッド一覧をアクセス というのは一度ウィンドウやタブを閉じてという話と思うが、開きっぱなしにしていて、かつ新着を取得するというならAjaxの領域だな Twitter公式ページの「○件の新しいツイート」というのがこれに当たる 一定時間ごとにサーバにアクセスして、更新があればその都度書き換える具合 >>495 なるほど、ありがとうございます! >開きっぱなしにしていて、かつ新着を取得するというならAjax サンプル付きの解説とか、お勧めありますか? 検索したのですが、初心者によさげなのが無いんですよね・・・ 本でも買った方がいいんでしょうかね。。 >>496 本は印刷などの工程を踏むため情報は必ず最新でないから、ネットで調べる癖を付けた方がいい ソースなんてあちこちに公開されてるし、実際使われてる例を参考にする方がよっぽど身になる 検索スキルは習得しておいて損はない jQueryを利用したAjaxが比較的理解しやすいと思うのでこの辺りを張っておく ttp://jquery.keicode.com/basics/ajax.php そもそもjQueryすらわからん場合はこの辺り ttp://www.atmarkit.co.jp/fwcr/rensai2/jquery02/01.html JavaScriptすら怪しいレベルならここかな ttp://www.amazon.co.jp/s/field-keywords=javascript いきなりですいませんが・・・ AjaxやjQueryやJavaScriptを操れるようになって仕事探したいんですけど。 あるいはなんかWEBサービス自分でつくったりも。。。 AjaxやjQueryやJavaScriptの技術をつけるにおいて XMLって勉強したほうがいいんでしょうか?あとDOM?とか。 なんかイメージをつかめきれなくて。。。 >>499 JavaScriptを主軸に勉強する。 【内容】 ・JavaScriptを使ってDOMを操作する(画像のロールオーバーなんか目をつむっていても書けるようにしておく)。 ・JavaScriptで非同期通信ができるようになる(ブラウザ毎の書き方の違いを居眠りしていても分かるようにする)。 ・上に関連して、読み書きするデータ形式としてXML、JSON、JSONPの違いと形式を理解しておく(上の勉強と一緒にできる)。 ・入力フォームのサニタイズ(入力チェック)ライブラリをJavaScriptで作っておく(不正な形式のメールアドレスなども検知できるように)。 上が出来るようになってから、jQueryを学ぶ。 簡単なHTMLは、ノートパットでも書けるようにしておく。 その上でHTML5を勉強。 更に理解しておく用語として、 ・バリデーション ・セマンティックWEB ・プログレッシブエンハンスメント その先にこれか必要になる技として『レスポンシブWEBデザイン』がある。 PCページしか作らないページであっても、 メディアクエリを設定しておかないと、スマフォでそのPCページを観た時に、 レイアウトが崩れるスマフォの機種がある(ドコモのディズニーフォンとか...)。 なので、レスポンシブWEBデザイン』は必須である。 無理に頑張らなくていい、才能出してくれれば... あれやこれや手を付けず、焦らず無理に頑張りすぎないことは確かに重要だな JavaScriptの技術を付けるって言ってる位だから、「今から」の人なんだろう 499です、どうもです。コメントありがとうございます。 ある程度はWEBに理解があるつもりですが、 やっぱりあれこれやらずにコツコツとやっていきます。 https://twitter.com/kai_ri_no/status/557402636253544448 こんな風に head要素の下に script要素を追加して通信してるのだけど、 サーバーの応答は、どうすれば見えるの? head.insertBefore( script, head.firstChild ); ローカルの自作htmlからajaxで、 インターネット上のサイトにアクセスしようとすると クロスドメインで処理できなくなってしまうのですが、 対処方法ご存知のかたいないでしょうか。 いくつかのサイトの情報を自作html一画面内に一括表示したいのですが、うまく行きません。 プラグイン等でのソフトウェアのスクレイピング機能で実現するのは不可です。 (会社のセキュリティと自分でメンテしながら学習していきたいので) ネットで調べる限り以下の方法があるようで、 @サーバサイドでAccess-Control-Allow-Originを設定 AFirefoxでabout:configでsecurity.fileuri.strict_origin_policy を false に設定 BGoogle Chromeで起動オプションに「--allow-file-access-from-files」を付加 @はサーバ設定はさわれないので不可 ABはためしたけど、変化なしでした HPなどで友達が稼げるようになった情報とか ⇒ http://asaswq3wq.sblo.jp/article/181819223.html 興味がある人だけ見てください。 OSGTWYSTC5 誰でもできる在宅ワーク儲かる方法 少しでも多くの方の役に立ちたいです グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』 U7FW7 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる