ajaxを強制終了する

名セリフ集、というともっともらしいけど。感想文が苦手で、ダ・カーポや、お楽しみはこれからだ、のように、読んだ本の印象に残ったフレーズを抜書きするようにしている。抜けがあったり、サボってたりしつつも、データとして蓄積されてるのが400弱。当然ながら、アマゾンに問い合わせにいって、書影など書誌情報詳細を引っ張ってくるスクリプトにしてある。
んだけど。アマゾンへの問い合わせが帰ってくるのを待つ時間が冊数分必要で、検索などで多数の本をリクエストすることになると、フリーズしたんか、ハングしたんか、というぐらい待つことになる。
なので、
著者名で検索の場合、とりあえず登録されているタイトルだけ別のコンテナに表示して、そのタイトルをクリックしたら、その一冊だけの分を表示するようにしよう。
と考えた。
1.著者名検索で、まずajaxでアマゾンに問い合わせにいく。
2.時間がかかるので、別コンテナに、ajaxでウチのDBに問い合わせてタイトルだけ表示する。
3.1がまだ終わってなくて、2で表示されたタイトルで気になったのをクリック。
新たに ajaxでアマゾンに問い合わせに行く。
4.一冊だけなので、すぐにアマゾンからの返答があって、メインエリアに表示される。
5.しばらく眺めてると、1でアマゾンに行ってたのが帰ってきて、メインエリアが書き換わる
6.びっくりする。
びっくりするのは困るので、3で別コンテナのタイトルをクリックしたら、まだ終わってない1の問い合わせを強制終了させたい。
という要件。
グーグルで検索して解決。ありがとうございます。
var req
req = $.ajax()
としておいて、ajaxで問い合わせるときに、
req.abort();
で、今、走ってるajaxの強制終了となる。
強制終了させて、新たに ajaxを走らせたら、その結果は success ではなくて、error で受け取る。これで、とりあえず問題解決。
そんなこんなの小説名セリフ集のページは こちら
ちなみに、こんなフレーズを抜粋。ときどき眺めてはニンマリしております。
歩き去っていく男に、ぼくは呼びかけた。
「あなたは神を信じていますか?」
男は立ち止まって、しばらくじっとぼくを見つめた。その質問になにか裏がないか、疑っているかのように--ぼくがこの教区民に雇われて、男の信仰の深さを調べてでもいるかのように。もしかすると男はただ、深夜に町の広場にすわって、赤の他人に信仰の確証を乞うほど絶望的になっている人間を、如才なくあしらおうとしていただけかもしれない。
男はかぶりをふった。
「子どものころは信じてた。だが、いまは違う。神ってのは、なかなかいい思いつきだが……まるで意味をなさん」
男はまだぼくの動機をはかりかねるように、疑い深げな目でこちらを見ていた。ぼくはきいた。
「では、生きることがつらすぎはしませんか?」
男は笑って、「四六時中ってわけじゃないさ」
[06/01 10:37:49]
そういや。きちんと考えずに作っていったもんだから、気がついたらajaxだけのページ遷移のないページになってしまった。
SEOを考えるとまずいので、ECサイトなんかだとこんな作りは却下。
集客に関しては、googleさま yahooさまから一見さんを拾い集めるのがセオリー。この名セリフ集は検索エンジンから見ると1ページだけの存在で、ユーザーにとって価値は低い、と判断される。外部リンクもないし。
ajaxについては、流れを追うのがけっこう面倒で、デバッグしにくい、という面と、ページをいちいち作る必要がなくてラクチン、という面が、作る側にはあって、無問題に大歓迎とは言い切れない。でも、使う側から見ると。スマホな感覚というか、そのページの中だけで済むので、ページ全体が書き換わるのを待つ必要がなく、コンテンツを読み込む間にほかのコンテンツを眺めてればいい。錯覚かもしれないけど、待たされないってことで、疲れない・ストレスが少ないページになるような気がする。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」
【電子書籍発売中】