AJAX
- Ajax 穴埋め式問題の作り方
自分はAjax初心者で、現在Ajaxを使って穴埋め式問題を作ろうと考えてるのですがうまくいきません。 イメージとしては、 問1ネットワークについて ネットワークとは( )という意味が... のように( )にユーザーが入力し解答するプログラムを作っています。 ソースは <html> <head><title>情報ネットワーク-テスト1</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> <link rel="stylesheet" type="text/css" href="color.css"> </head> <body> <div> 問1 情報ネットワークについて以下の問いに答えよ。 </div> <div style="marginLeft:10px;"> ネットワークとは<input type="textbox" name="one" size="20"/> という意味を持つ。 </div> </body> </html> というように作ったのですが実際にアクセスするとタイトルに文字化けがおきかつ本文が画面に表示されない現象が起きます。 これは、どうすればイメージのようなものができるのでしょうか? 知識のある方ご協力お願いします。
- ajax + PHPによるエラーの返し方について
エラーが戻ってこず困っています。 質問させてください。 ■質問内容 以下の記載の、【url: "./ajax_upd_user.php",】内部にて 任意のエラーコードを返し、【error: function(){】へ遷移するようにしたい。 ■現状 【ajax_upd_user.php】で任意のPHPの「throw new exception」を返しても successになってしまう。。。 ■ソースコード一部 ○「test.php」に以下のコードを記載 $.ajax({ type: "POST", url: "./ajax_upd_user.php", data: strData, dataType: "html", success: function(res){ $('#form_Area').oneTime(2000,function(){ $('#form_Area').unmask(); getUpdateAll(res); })}, error: function(){ $('#form_Area').unmask(); alert( "登録処理でエラーが発生しました。"); } }); お手数ですが、知っている方いらっしゃいましたら ご教授お願いいたします。 以上、よろしくお願いいたします。
- ベストアンサー
- AJAX
- super-max-power
- 回答数1
- ajaxで追加したdom要素にscriptをあてる
ajaxを利用して追加したhtmlに対して、既存のscriptのイベントが効かなくて困っています。 どういうことかというと、 まず流れとしては、 (1)【webページをブラウザで表示】 ↓ (2)【ajax通信でサーバーサイドでビュー(html)を生成】 ↓ (3)【ブラウザにそのビューを返して、それをjavascriptで既存のhtmlに追加】 となっております。 そして、この時、例えば、(1)の時にclass="sample"の要素に対してclickイベントを設定していて、(3)の時に追加された要素にもclass="sample"があったとします。 この時、新たに追加されたclass="sample"の要素に対してclickイベントが発生しないのです。 どなたか、解決策を教えてくれないでしょうか? 宜しくお願い致します。
- Ajaxの通信を記録するアプリケーションは?
Ajaxを利用したサイトを訪れたときは、XmlHttpRequestオブジェクトをjava scriptプログラムが実行して、Httpプロトコルでサーバーに接続、サーバーからデータをダウンロードすると思います。 今使用しているパソコンはwindows7で、[関連付けを設定する]の項目を見ると、java scriptファイルを実行するプログラムは、Microsoft (R) Windows Based Script Host となっています。 Httpプロトコルでサーバーに接続してデータをダウンロードという一連の通信を担当するアプリケーション(A) と ファイアウォールソフトでその一連の通信を記録するとき、どのアプリケーションの通信として記録されるのか、その該当アプリケーション(B) について教えてください。 1 (A)IEなどのブラウザ (B)IEなどのブラウザ 2 (A)IEなどのブラウザ (B)Microsoft (R) Windows Based Script Host 3 (A)Microsoft (R) Windows Based Script Host (B)IEなどのブラウザ 4 (A)Microsoft (R) Windows Based Script Host (B)Microsoft (R) Windows Based Script Host 1,2,3,4の内、どれが正しいでしょうか?
- Jqueryのキャッシュについて
JqueryからCGIを呼び出して、DBと接続し、その戻り値をHTMLページに反映しています。 処理をして、ブラウザを再起動すると処理されたデータで表示されるのですが、ブラウザを再起動しないと、処理する前のデータが表示されます。ページをリロードしても同じです。 下記のようにCGIを呼び出してDBと接続をしているのですが、 キャッシュがあると良くないと言うことが書いてあったので、 cache: false, を追加したり、 $.ajax({ type: 'GET', url: '~.cgi', cache: false, //←追加 data: ''', success: function(result){ if (result != ''){ 処理をする } } $.ajaxSetup({ cache: false }); ↑を追加してみたりしたのですが、これらの部分からあとのプログラムが動きません。 (エラーになっている?ような感じです) これらを削除してプログラムを動かすと、キャッシュが残っているような結果が帰ってきます。 要するに、DBの値を修正、削除をして、その後のデータを表示したいのですが、 削除後、修正後のデータが表示されません。 ブラウザを再起動すると、修正、削除されている状態で表示されます。 ブラウザを再起動しなくても処理をした後の結果がHTMLページに表示されるようにしたいです。 わかりにくい説明で申し訳ございませんが、ご不明な点はお聞き下さい。 どなたかおわかりになる方がいらっしゃいましたら教えて下さい。 よろしくお願いいたします。
- ベストアンサー
- AJAX
- noname#223023
- 回答数2
- 画面をブロックしたいと思っています。
PHPで複数の画像をアップロードするページを作成しています。 アップロードする際に「image magick」を使用して変換処理を行っています。 画像の変換中に画面をブロックしたいと思い、ネットで調べていたらjqueryのblockUIを知りました... ただ私が記述したプログラムではどのように実装したらいいのかが解らず、投稿させていただきました。 私が記述したプログラムはPOSTする際にボタン名をPOSTして処理を分ています。 下記のように感じで記述しています。 switch($_SERVER['REQUEST_METHOD']){ case 'POST': switch($aryPOST['BTN']){ case "確認": ・ <省略> ・ ※この中でforeachでアップロードのファイル分、繰り返して画像変換処理を行っています。 入力エラーや処理中にエラーが発生した場合は入力ページを出力していますが、正常に処理を実行した場合は確認ページを出力しています。 ・ <省略> ・ break; case "完了": break; default: } default: } 説明が下手で皆さんに伝えられたか心配ですが理解していただけましたでしょうか。 簡単にいうと画像の変換中に画面をブロックしたいと思っています。 上記のソースにjqueryのblockUIをどのように記述したら実装できるのでしょうか。 申し訳ありませんがご教授いただけませんでしょうか。 どうか、皆さんのお知恵をお貸しいただけませんでしょうか。 宜しくお願いします。
- jQuery Ajax通信をランダムで表示
Ajax通信で別htmlファイルを読み込みたいと考えています。 それぞれ読み込むファイルは、a.html、b.html、c.html、d.htmlとあります。 読み込む先(index.html)の以下div要素内に、 上記htmlを読み込みたいと考えています。 <div id="01"></div> <div id="02"></div> <div id="03"></div> <div id="04"></div> 本来ならAjax通信で以下のように出来るかと思います。 $(function(){ $('#01').load('a.html'); $('#02').load('b.html'); $('#03').load('c.html'); $('#04').load('d.html'); }); しかし、div要素内の表示をランダムにしたいのです。 例)id="01"のところに、b.htmlだったり、d.htmlだったりという感じです。 ロードする度にコンテンツの表示場所が変化するイメージです。 ランダムというところが、どのように対処したらよいのか、手も足も出ません。 どなたか詳しい方、ご教授いただけたら助かります。 何卒、何卒、宜しくお願いいたします。
- google map吹き出し
下記google mapをスマホで見ると吹き出しが頻繁に出たり消えたりして見づらいのですが 吹き出しは出しっぱなしでカウントダウンのみ動かす方法ありませんか。 <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <style type="text/css"> div#map-canvas { position: absolute; width: 100%; height: 100%; } </style> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> var geocoder, map, marker, infoWindow; function initialize() { geocoder = new google.maps.Geocoder(); var latlng = new google.maps.LatLng(35.710058, 139.810718); var mapDiv = document.getElementById('map-canvas'); var myOptions = { center: latlng, zoom: 8, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(mapDiv, myOptions); google.maps.event.addListener(map, 'click', function(e) { marker = new google.maps.Marker({ position: e.latLng, map: map, draggable: true, title: "Click Me!" }); if(infoWindow) infoWindow.close(); infoWindow = new google.maps.InfoWindow(); var targetDate = Date.parse('2014/07/07 00:00:00'); setInterval ( function() { var now = new Date().getTime(); var diff = targetDate - now; var day = Math.floor ( diff / 86400000 ); diff -= day * 86400000; var hour = Math.floor ( diff / 3600000 ); diff -= hour * 3600000; var minute = Math.floor ( diff / 60000 ); diff -= minute * 60000; var second = Math.floor ( diff / 1000 ); if(infoWindow) infoWindow.setContent ( '七夕まで' + day + '日' + hour + '時間' + minute + '分' + second + '秒' ); },1000); infoWindow.open(map, marker); map.setCenter(e.latLng); }); }; google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="map-canvas"></div> </body> </html>
- コールバック中の変数操作
表題のままですが、Ajaxコールバックの中から、外部の変数(オグジェクト)を操作するにはどうたら良いですか? // グローバルオブジェクト定義 function MyClass(){ this.myValue = 'foo'; } var myObj = new MyClass(); $.ajax({ url : '/hoge'; // 以降オプション省略 success : function(){ // ここで、myObj.myValue に 'hoge' を代入したいです } }); コールバックの中で、this.myObj.myValue = 'hoge'; とはできないですよね? よろしくお願いします。
- ベストアンサー
- AJAX
- nayutax1010
- 回答数2
- グーグルマップの吹き出しからのclickが効かない
http://ideone.com/RzDykQ グーグルマップに吹き出しウインドウを表示させることができるのですが、 そこに配置したフォームからボタンをクリックしてもその処理を $('#send').click(function() のメソッドで受け取ることができません・・・ グーグルマップに吹き出しからではなく、 普通のフォームからやれば受け取ることができるのですが どこが間違えていてどのように記述するれば良いのでしょか?
- ベストアンサー
- AJAX
- takagoo100
- 回答数3
- google maps 吹き出しカウントダウン
google maps api v3の情報ウィンドウの吹き出しの表示に、 添付画像のようなカウントダウンを表示したいのですが、 自分のレベルでは吹き出しに文字を表示することしかできません。 どなたか吹き出しの表示に添付画像のようなカウントダウンを表示する方法 知りませんでしょうか。
- google maps api v3のルート検索
google maps api v3のルート検索でA,Bマーカーでなく、 オリジナルのマーカーにてドラッグ&ドロップマウスで移動可能なルート検索を javascriptで作るやり方が知りたいです。
- AJAX通信が終わるまで次の処理へ進まないよう変更
■前提 処理1 ここで外部jsを呼び出す。外部js内では、jQueryで$.postなど色々 処理2 ■困っていること ・外部js処理が終わらないのに、処理2が走ってしまうことがある ■やりたいこと ・外部js処理が終わるまで、処理2を走らせたくない ■知りたいこと ・$.postのsuccessに処理2を記述、以外の方法で、やりたいことを実現するにはどうすればよいでしょうか?
- 郵便番号検索について
よく登録画面で目にする機能について少し教えて下さい。 郵便番号を入力と同時(フォーカスが移動したと)に該当する住所が設定される機能はどのような仕組みなのでしょうか。この際にポストバックしないで各テキストボックスに挿入されていますがAjaxを活用しているのではないかと思い、色々とネットで調べてみましたが私が望むようなものを見つける事ができませんでした。 現在、郵便番号のCSVデータをサイトからダウンロードしてデータベースに入れました。 私がやりたい事はインポートした郵便番号を使用する方法をご教授いただけませんでしょうか。 些細な事でも構いませんので宜しくお願いします。
- ajax操作によって、他タグ位置が自動で移動
ajaxの勉強中のモノです。 とまぁ、ajaxとjqueryの区別もついてはいない小生ではありますが、申し訳ございません、どちら様かお分かりであればお知恵をお貸してください。 http://ajax.jlamp.net/ にあるサンプルソースを元に、当方でも同じような仕組みを組みたいと思っておりますが、ここのサンプルソースに出てくる実例ページ↓ http://ajax.jlamp.net/samples/sample03.html を動かしてもらえるとお分かりになるかと思いますが、県のセレクト欄を選択すると、その横の市区セレクト欄にajaxによって市区データが充填されて、その充填された文字数によって勝手に市区セレクト欄の幅が初期表示より広くなります。 すると、そのまた横にある送信ボタンの位置が、自動で右にずれてくれます。ありがたいです。 ですが、丸ごとソースを当方の環境でコピって実演させてみたら、当方の環境では送信ボタンは初期位置のまま微動だにせず、幅が広くなった市区セレクト欄と重なって表示されてしまいます。ありがたくないです。 htmlの環境の問題だ・・・と言われたらそれまでですが、、、何か考えうる原因等お分かりになる方いらっしゃいましたら、ご指摘のほど、宜しくお願いします。 一応、ググってはみたものの、本件のような現象を検索する場合の語句がなかなか思いつかず、ajax ボタン 位置 自動 ずれる ・・・ など試してみたものの、答えみつからずです。 表示作業しているPCの環境を記載します。 当方はIE8を使用しております。本文にあるサンプル実例ページもIE8で起動して確認しましたら、きちんとボタンはずれますが、当方で用意したhtmlではボタンは動きませんでした。 ですが、firefoxで同様に起動したところ、なんと、ボタンは自動でずれてくれました。また、スマホ(android)でもボタンはきちんとずれてくれましたが、他PCでIE9で動かしたところ、やっぱり動きませんでした。でも本文サンプルは、IE9でも正常に動きました。 IEが原因っぽいですが、サンプルソースはきちんと動くので、如何ともし難いところです。。。 お力添えのほど、宜しくお願い致します。
- ベストアンサー
- AJAX
- sakatsuku96
- 回答数2
- getJSONで受け取れるよう出力するには?
■前提 ・$.getJSONでAPIからデータ取得するサンプルがあります ・この時、第1引数のURLを叩くと、データが表示されます $.getJSON('http://hoge … &callback=?') .error( ajaxError ) .success(function( data ){ ・動作確認のため、「第1引数のURLで表示されたデータ」を取得(コピペ)して、「piyo.php」としてアップロードしてみました ■質問 ・$.getJSON第1引数を「piyo.php」へ変更すると、同じようにデータ取得できると思ったのですが、うまくいきません ・何故でしょうか? ・「json値」をサーバが返すようにすれば良いのでしょうか? ・それはどうやるのでしょうか? ・「echo json_encode?」「header('Content-Type:?」それとも、拡張子がjsonじゃないといけないのでしょうか?
- ajaxの使いどころ
現在、会員制のWebサービスを作成しています。 まだ初期段階ですが、今は管理者用のユーザー管理ページに着手しており、サーバーサイド、クライアントサイド合わせて、およそ7割程度完成しているいるところです。 このページの現時点での実装では、ユーザーの削除、復活、パスワードリセット、登録情報の変更、新規ユーザーの登録といった全機能でajaxを使っています。 また、処理対象のユーザーは一覧のテーブルをクリックして選択するのですが、このクリック時にサーバーからユーザーの詳細情報を取得しており、ここでもajaxを使っています。 要するに、1ページ取得したあと、そのページ内でサーバーと通信を行う必要が生じたら、それはすべてajaxを使うという決まりです。 そこで、ajaxの運用についていくつかわからない点があり、質問させて頂きます。 (1) 会員専用ページという性質を考えると、ajaxでリクエストを送信した際にも、サーバーサイドではそのリクエストに対するセッションが有効かどうかをチェックする必要がありますよね? 一般的な会員向けWEBサービスでは、"ページ遷移毎"だけでなく、"ajaxでの通信毎"でもセッションのチェックを行うものなのでしょうか。 (2) ajaxでの通信時にセッションの有効性をチェックした結果、すでにタイムアウト等でセッションが無効な場合、一般的にはどうするべきなのでしょうか。 個人的にはlogoutページにリロードしたいと考えているのですが、このようにするには、サーバー側がレスポンスを返すときに、{error:{code:'1',message:'session_out'}}のようなJSONを返して、それをjavascript側で確認し、location.hrefを書き換える、というような流れで処理を行うことになるのでしょうか。 (3) そもそも、今回のように「1ページ内で生じるサーバー間通信は全てajaxで補う」という考え方は、一般的なものなのでしょうか。 なにが言いたいかというと、"セキュリティ等を考慮してajaxを使うべきではない処理"と"ajaxを積極的に使うべき処理"(もしくは、"ajaxを使っても差し支えない処理")の判断の仕方、つまり、ajaxの使いドコロがよく分かっていません。 以上3点につきまして、ご教授いただければ幸いです。
- jqueryでtable内容の置き換え
Jqueryを利用してAJAXでPOSTしてその計算結果をTableに埋め込もうとしています。 tableは複数行あり、入力フォームがあります。 その各行に入力された内容をPOSTしてPHPで計算します。 戻ってきた内容を同一行に埋め込もうとしています。 どのようにすればいいでしょうか? id="in1"とid="out1"というテキストボックスに入力しout1のテキストボックスからカーソルが外れると AjaxでPOSTします。 その計算結果をid="result1"に表示します。 このような行が50行あります。 50回ajaxの処理を書くのはおかしいかなと思いつつもどのようにしていいのかわかりません。 教えてください。 よろしくお願いいたします
- 繰り返し処理のシンプルな書き方
プログラム初心者です。 下記のようなjavascript(Ajax)を作りました。 forなどで、もう少しシンプルに書く方法はありますか? var check = ['link0', '#link1','#link2']; $(check[0]).click(function () { 処理A }); $(check[1]).click(function () { 処理A }); $(check[2]).click(function () { 処理A }); ※処理Aは同じ処理 どうぞ宜しくお願い致します。