タグ

ajaxに関するiwwのブックマーク (55)

  • IE11 で開発者ツールを立ち上げていないと ConsoleAPI や Ajax キャッシュ問題で稀によくしぬ話 - BattleProgrammerShibata

    GoogleChrome でも Firefox でも動くのに、 IE11 だけで上手く JavaScript が動かない問題に遭遇した。いずれもサーバとの通信に絡んだ部分である。 IE 独特の動かない JavaScript かなーと思い F12 キーを叩き開発者ツールを立ち上げて動きを確かめてみると、さきほどまで動かなかったはずのあらゆる機能が期待した挙動を始めた。開発者ツールを閉じると、元に戻った。開発者ツールを立ち上げると、起動すると、期待した挙動を始めた。なんだ、ドキュメントモードか? <!doctype html> と宣言していれば最新の標準モードになるのではなかったか? いやしかしユーザーエージェントは最新版のそれだぞ。ええ? 開発者ツールを立ち上げていないとアプリケーションサーバに吐かれるはずのログが吐かれていない??? クソッタレ、俺が何をしたって言うんだ。クソ、もういい分か

    IE11 で開発者ツールを立ち上げていないと ConsoleAPI や Ajax キャッシュ問題で稀によくしぬ話 - BattleProgrammerShibata
    iww
    iww 2019/08/05
    コンソールの有無ってどう判定すればいいんだろう。 ページを開いてから開発者ツールを起動したときとか困るな
  • 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.
  • JavaTechnology Slot Online | Cara Daftar bermain Slot Online

    Dapatkan Peluang Menang Slot Online Lebih Besar Di Bandar Teraman Karena banyaknya pilihan situs judi di internet. Penting bagi seorang pemula khususnya untuk memilih sebuah bandar judi terpercaya. Karena berbagai

    JavaTechnology Slot Online | Cara Daftar bermain Slot Online
  • おじさんが若い時はね$.ajax()のオプションでsuccessとかerrorとか指定していたんだよ(追憶) - Qiita

    $.ajax({ url: "http://jsrun.it/assets/E/H/Z/t/EHZt3", success: function (data) { $("#results").append(data); }, error: function () { alert("読み込み失敗"); } }); // urlを適当なものに変更すると「読み込み失敗」のアラートが出ます。 jsdo.itで実行する これはInternet Explorer 6(故)が猛威を振るっていた時代の、jQuery1.4くらいの旧い書き方です。「成功したらさらに非同期通信をしたい」「失敗したら別の処理をしたい」等、他の処理が多くなるに連れてコールバック地獄に陥り、バグの温床となります。 もう辞めましょう。。。 イマドキの$.ajax()はこう書く イマドキは、jQueryのDeferredオブジェクトのth

    おじさんが若い時はね$.ajax()のオプションでsuccessとかerrorとか指定していたんだよ(追憶) - Qiita
    iww
    iww 2017/07/04
    コールバック地獄が、ちょっとぬるくなって コールバック煉獄 程度に落ち着く
  • ajax通信でリトライを行う

    ajax-retry.coffee � �c�U ��c�U ### ajax通信エラー時にretryするplugin.. timeoutの秒数は1通信に対しての秒数のため、 最長 retryCount * timeoutミリ秒待つことになる. @params url url文字列 @params done 成功時のcallback @params fail 失敗時のcallback @params options ajaxのoption ### do ($ = jQuery)-> DEFAULT_RETRY_NUM = 3 DEFAULT_TIMEOUT = 10000 $.ajaxRetry = (url, done, fail, options = {retryCount: DEFAULT_RETRY_NUM, timeout: DEFAULT_TIMEOUT})-> count =

    ajax通信でリトライを行う
  • ファイルアップロードをajaxで行う IE対応 - AUSGANG SOFT

    ファイル選択をしたら自動的にajaxでアップロードする機能をつくっていたのだけど、やっぱりIE対応でつまづいた。いちおうIE8対応を目指した。 ajax送信は、このライブラリを使用。 jQuery Form Plugin http://malsup.com/jquery/form/ そのままだとIEで動かない。 596行目のfinallyがIEではエラーになるので、コメントアウト。 次、ファイル選択で自動アップロードしたかったので、jQueryのchangeイベントで処理を書いたが発火してくれない。 jQueryのchangeイベントで気をつけること http://d.hatena.ne.jp/sho-yamasaki/20120319/1332168988 onchangeならうまくいくらしい。 あと、ファイル選択部分を以下をつかって整えた。 JavaScript · Jasny Boo

  • Ajaxで通信を強制停止させる方法 | システムエンジニアの戯言

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

    Ajaxで通信を強制停止させる方法 | システムエンジニアの戯言
  • jQueryのajax()を中断する方法

    jQueryのajax()を中断する方法を紹介します。 1.問題点 次のように、ajax()メソッドでHTMLを取得するコードがあります。 <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(function(){ $('#execute').click(function(){ $.ajax({ url: "http://user-domain/foo.cgi", type: "GET", dataType: 'html', }) .done(function( data ) { $('#foo').html(data); }) .fail(function( data ) { // ... }); }); }); </script> <input type="button" id="exec

    iww
    iww 2016/09/27
    なにか取っておく必要がある
  • $.ajax();の覚え書き - Qiita

    使いたいときに忘れがちなので覚え書き デフォルト値の設定 メソッドを設定 dataTypeを設定 タイムアウトを設定 キャッシュの無効化 $.ajaxSetup({ type : 'POST', dataType: 'json', timeout : 30000, headers: { 'pragma' : 'no-cache', 'Cache-Control' : 'no-cache', 'If-Modified-Since': 'Thu, 01 Jun 1970 00:00:00 GMT' } }); type: 'POST' でデフォルトをPOSTに指定します(元のデフォルトはGET) dataType: 'json' で戻りのデータをjsonで受け取ります。 header でキャッシュをしない設定としています。 キャッシュをさせない設定として cashe: false の設定の記事

    $.ajax();の覚え書き - Qiita
    iww
    iww 2016/08/04
  • deferred.promise() | jQuery 1.9 日本語リファレンス | js STUDIO

    deferred.promise( [target] ) 1.5追加 戻り値:Promise Deferredのpromiseオブジェクトを返します。 引数 説明 function asyncEvent(){ var dfd = new jQuery.Deferred(); // Resolve after a random interval setTimeout(function(){ dfd.resolve("hurray"); }, Math.floor(400+Math.random()*2000)); // Reject after a random interval setTimeout(function(){ dfd.reject("sorry"); }, Math.floor(400+Math.random()*2000)); // Show a "working..."

  • jQuery.ajax()のJSONやJSONP取得で200 OKなのにエラーになる件のまとめ

    jQuery.ajax()のJSONやJSONP取得で、200 OKにもかかわらずエラーになる件についてまとめました。 1.問題点 次のようなJSONデータを読み込むスクリプトを書きました。 JSONデータ {'foo':'bar'} スクリプト <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> <script> $(function(){ $.ajax({ url: "sample.json", dataType: 'json', }) .done(function(data) { console.log("OK"); }) .fail(function(xhr, textStatus, errorThrown) { console.log("NG:" + xh

    iww
    iww 2016/07/25
    200なのにエラーなときはJSON構文異常を疑うべし
  • [対処法] 414 Request URI too long

    414 Request URI too long HTTP 414 – Request-URI が長すぎます 原因 クライアントからのリクエストURLの文字数がサーバまたはアプリケーションの許容範囲を超えているため、リクエスト受信が拒否されている。URLの長さは使用するサーバやアプリケーションにより異なり、例えばApache(ウェブサーバソフトウェア)は標準設定で8,190文字まで許容しているが、Internet Explorerは2,048文字を上限としている。(未検証だが、Internet Explorer9以降は許容範囲が倍以上に増えたとの情報あり) あなたがユーザーの場合、ブラウザを変えて再試行してみて下さい。Internet Explorerと違い、Firefoxは無制限。ただし送信先ウェブサーバやデータベースサーバ側で受信が拒否されている可能性もあり、その場合はブラウザを変えて

    iww
    iww 2016/07/15
    URLが長い。 POSTメソッドにしよう
  • arguments.calleeとsetTimeoutを使ってJavaScriptのリトライ処理を簡単に書く方法

    jQuery のソースから拾ってきたネタなんすが、arguments.callee と setTimeout を使ったリトライ処理が超便利なのでご紹介。 まず基形はこんな感じす。 (function() { // なんか処理 if (error) { setTimeout(arguments.callee, 20); } })(); 上のコードは error が真のとき20マイクロ秒後に無名関数の実行をリトライします。20マイクロ秒だとリトライ間隔が短いような気がするかもしれませんが、リトライ回数は1秒に50回ですので言うほどでもないです。 arguments.callee は関数内でのみ参照可能で、実行中の関数自身への参照を保持します。上の例では arguments.callee は無名関数への参照となります。setTimeout に arguments.callee を渡すその関数を

    arguments.calleeとsetTimeoutを使ってJavaScriptのリトライ処理を簡単に書く方法
  • 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 処理を書いているとき、API 通信の一部のリクエストだけ JSON が返ってこなくなる現象にハマりました。 jQuery.ajax() は返ってきたステータスコードを見て成否をチェックしていますが、301 Moved Permanently や 302 Found でも成功したとみなされ success の処理が走るようです。 jQuery.ajax({ url: '/api/', dataType: 'json', success: function(data) { // ステータスコードが 301 や 302 でも実行される console.log('OK'); } }); 今回ハマった箇所では http のリクエストを https へ 302 でリダイレクトしていました。結果的に success まで確実に処理は走っているけど API の結果が返ってこない

    jQuery.ajax() ではステータスコードまでチェックする | はったりエンジニアの備忘録
    iww
    iww 2016/06/27
    200~300,304 なら成功。 ステータスはstatusに入っている。
  • 天野仁史 - Wikipedia

    天野 仁史(あまの ひとし、1982年1月7日[1] - )は、日のソフトウェア技術者、ブロガー。石川県出身[2]。2018年5月よりスマートニュース株式会社に勤務。 概要[編集] JavaScriptで実装されたDOM 3 XPathエンジン「JavaScript-XPath」の開発や、ブログ『IT戦記』で知られ、技術者向けイベントでの講演や、技術雑誌での執筆活動も行っている。 小飼弾は著書[要出典]で天野をアルファギークの一人として取り上げ、JavaScriptは天野から教わったようなものだとも述べたとされる[3]。 経歴[編集] 2003年 - 石川工業高等専門学校 卒業 2003年 - 岩通ソフトシステム株式会社に入社 2005年12月 - 株式会社ガイアックスに入社[2] 2005年12月 - ブログ「IT戦記」を開設[4] 2007年 - Developers Summit

  • ポップアップブロックを回避する技(モダンブラウザ非推奨) - Qiita

    画面遷移はあまりしたくない。なので、Ajaxの通信後、ログインはポップアップを利用して。。とか、やりたい場合が出てくる。 最近のブラウザはポップアップブロックが多い。 特に、スマホではデフォルトの設定でポップアップブロックがONになっていることがほとんど。さらに、PCブラウザはエラーをブロックを出してくれる事があるが、スマホではポップアップが反応せず、エラーも出ず、何も起こらない。最悪な状態だ。 ポップアップブロックを回避するパターンを探し求めた。 ポップアップブロックのパターン例 $(function() { window.open('xx'); // ブロック $('#hoge').on('click', function() { window.open('xx'); // ブロックされない $.ajax({ url: 'xx', success: function(data) { w

    ポップアップブロックを回避する技(モダンブラウザ非推奨) - Qiita
  • 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 でリクエストをキャッシュさせない方法 - 葉っぱ日記
  • [jQUery] IE対策のためajaxでのキャッシュの無効化 | 日々の覚書…日常のことも少しだけ

    スポンサードリンク jQuery $.ajaxの動作で 指定したurlのデータが更新されていても 内容が変わらないという事がありました。 どうもIEのみの話みたいです。 なので、対処としてキャッシュを無効化にしました。 スポンサードリンク ajaxを使う前にキャッシュを無効化 Google先生に聞いたところ 結構同じことで詰まっている人が多かったので 対処方法がいっぱいありました。 // $.ajaxを呼び出す前に記述 $.ajaxSetup({ cache: false, }); 上記のように書くとキャッシュを無効化してくれるようです。 どうも、IEは一度ファイルを読み込んだあと キャッシュを読みに行くようです。 FirefoxやChromeは問題ないようなんですね~ とりあえず、上記のキャッシュ無効化で対応しました。 スポンサードリンク

    [jQUery] IE対策のためajaxでのキャッシュの無効化 | 日々の覚書…日常のことも少しだけ
  • jQuery.ajax(options) - jQuery 日本語リファレンス

    HTTP通信でページを読み込みます。 この関数はjQueryにおけるAJAX通信の基部分で、実際には$.getや$.postといった関数を使った方が、容易に実装できます。 但し、これらの抽象化された関数は実装の容易さと引き換えに、エラー時のコールバックなどの複雑な機能を失っています。そのような処理を実装したい場合は、やはり基幹であるこの関数を用いる必要があります。 $.ajax関数は、戻り値として XMLHttpRequestオブジェクトを返します。殆どの場合、このオブジェクトを直接操作することは無いと思われますが、例えば投げてしまったリクエストを中断する場合など、必要であれば利用して下さい。 この関数は引数をひとつだけとりますが、実際にはハッシュで、キーと値の組み合わせにより多くのオプションを受け取ります。 以下にその一覧を載せますので、参考にして下さい。 async / boolea