タグ

TIPSとajaxに関するiwwのブックマーク (6)

  • JqueryからPHPへJSONを渡すには - Hope is a Dream. Dream is a Hope.

    はい。 ふぃふぃです。 最近javascriptで配列型のデータを扱う機会が増えてきました。 これまでは、特にデータを保管する必要もなかったのですが、 過去データとの比較などをやりたくなってきたので、 サーバにcsv形式で保存する方法を調べておりました。 過去記事にも書きましたがはてな人力検索などで質問をしていると、 どうにも、PHP経由での保存が望ましいとのこと。 PHP、Ajax初心者ということもありかなりはまってしまったのでメモ。 送信側 $(function(){ // 送信・保存するためのデータ配列 var ary_data = new Array(100); //[1,2,3,4,5,6]; for (var i = 0; i < ary_data.length; i++) { ary_data[i]=i; } // 送るデータ形式はJSONでなければ、PHP側でエラーが出る.

    JqueryからPHPへJSONを渡すには - Hope is a Dream. Dream is a Hope.
  • Ajaxで通信を強制停止させる方法 | システムエンジニアの戯言

    Ajaxで通信を強制停止するには XMLHttpRequestのabortを使います。 実際には、abortなんてそうそう使う機会はありません。 果たして使い道はあるのでしょうか? 例えば、Ajax通信中に、「Now Loading・・・」なんていうメッセージをモードレスダイアログで表示し、さらにユーザが手動で通信を停止させる手段としてダイアログの右上に×ボタンを用意しておき、ボタンが押されたタイミングで、abortする、なんていうことが考えられます。 Ajax通信中に他のページに移動する際の問題 ミッションクリティカルなWebシステムでない限り、Ajax通信中に他のページへの移動を許容する事は間々あるかと思います。 例えば、最近私が作成したWebシステムでは、Topページのパフォーマンス向上のために、Ajaxで情報を遅延ロードして表示するような仕組みを採用しました。 どれぐらい、パフォー

    Ajaxで通信を強制停止させる方法 | システムエンジニアの戯言
  • jQueryで通信が失敗した時にリトライする方法 - おやまのエンジニアリングブログ

    $.ajaxを使う際に、通信が切断された時のハンドリングによく困ります。 なので切断された場合、私はユーザーにダイアログを出して再送信を行ってもらうようにしています。 あまり知られていませんが、失敗した時のリクエストと全く同じ内容で再送信することが可能なのです。実は、success/error/complete等のコールバック関数のコンテキストは全て、jQueryの設定パラメータになっているのです。なので、$.ajax(this);とするだけで、再送が可能になるのです。 実際のコードは以下のとおり。 $.ajax({ url: "/test", error: function(xhr) { // 通信がタイムアウト if(xhr.status === 0) { $.ajax(this); // ← これ } } }); ちな、githubにこれできるプラグインあったので、リンク貼っておきま

    jQueryで通信が失敗した時にリトライする方法 - おやまのエンジニアリングブログ
  • jQuery.ajax でリクエストをキャッシュさせない方法 - 葉っぱ日記

    jQuery.ajax を使ってGETでリソースにアクセスした場合、IEでは2回目以降のリクエストが実際には発行されずにキャッシュされた結果が使われてしまいます。これを防ぐには $.ajax( { url : "http://example.com/", cache : false, data : { a : "abcd" }, ... } ); のように、cache オプションに false を指定すればいいようにドキュメント(http://docs.jquery.com/Ajax/jQuery.ajax#toptions)に書かれています。実際に cache : false を設定してみると、リクエストの発行される URL は、 http://example.com/?a=abcd&_=1253861397368 のようにクエリの末尾に現在時刻のミリ秒が付加されたものになります。 たい

    jQuery.ajax でリクエストをキャッシュさせない方法 - 葉っぱ日記
  • GoogleのJSON(モドキ)の先頭にwhile(1); がつく理由 - 葉っぱ日記

    なぜGoogleはJSONの先頭に while(1); をつけるのか #JavaScript #HTML #Ajax #StackOverflow - Qiita これはクロスサイト・リクエスト・フォージェリ対策。違うよ!全然違うよ! 攻撃者の作成した罠ページにてJSONを<script src="target.json">みたいに読み込んで、ゴニョゴニョやることでJSON内の機密情報に攻撃者がアクセス可能というのは合ってるけど、それを「クロスサイト・リクエスト・フォージェリ」とは言わない。無理に何か名前をつけて呼ぶとすれば、「JSON Hijacking」という俗称や、あるいは単純にクロスサイトでの情報漏えい、程度ですかね。 ちなみに、ArrayコンストラクタやObjectでのアクセサを定義してJSONをJSとして読み込んで内部にアクセスする手法は、現在のところ公にされているところでは古

    GoogleのJSON(モドキ)の先頭にwhile(1); がつく理由 - 葉っぱ日記
    iww
    iww 2013/02/06
    結局不正なアクセスに対する嫌がらせであることには変わりない
  • なぜGoogleはJSONの先頭に while(1); をつけるのか - Qiita

    Stack Overflowに面白い質問があったので紹介する javascript - Why does Google prepend while(1); to their JSON responses? - Stack Overflow 質問 Googleのサービス内で使われるJSONの先頭に while(1); てついているのは何故? 例えばGoogle Calendarではカレンダーを切り替えるときに以下のような内容のデータがサーバから返される。 while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],['remindOnRespondedEventsOnly','true'],['hideInvitations_remindOnRespondedEventsOnly','false_true'],['C

    なぜGoogleはJSONの先頭に while(1); をつけるのか - Qiita
    iww
    iww 2013/02/06
    はーすごいなー
  • 1