doneとfail文を別で関数定義したいのですが、.done.failのドットによってエラーになってしまいます。
js
1コード 2 3$('.search__btn').on('click', function () { //検索ボタンがクリックされた時 4 comparison();
このように定義し、それにあった処理をまとめたいです。
js
1コード 2<script> 3$(function(){ 4 var preSearchword = ''; //空の文字列を入れてあります 5 var pageNum = 1; //変数に1を代入 6 $('.search__btn').on('click', function () { //検索ボタンがクリックされた時 7 comparison(); 8 }); 9 $('.search__btn').on('click',function(){ 10 ss(); 11 }); 12 $('.search__btn').on('click',function(){ 13 zz(); 14 }); 15 var searchword = $('.search__text__input').val(); //変数にバリューを取得した値を代入 文字を入力する部分 16 if (preSearchword === searchword) { //if文でpreSearchwordとsearchwordが厳密に等しい場合の式を作り 17 //console.log(pageNum) 18 pageNum++; //1回目の検索結果と2回目クリックされる時の検索結果が同じ場合、1ページずつプラスしていきます 19 } else { //そうでない場合 20 pageNum = 1; //ページ数を1に戻します 最初のクリックの際は、falseを返します 21 $('ul').empty(); //同時に下に表示していたulの子要素をempty()で消します 22 } 23 preSearchword = searchword; //preSearchwordにsearchwordを入れます 24 // console.log(searchword); 25 // console.log(searchword); 26 function done(){ 27 $.ajax({ 28 url: 'https://app.rakuten.co.jp/services/api/BooksTotal/Search/20130522', 29 type: 'GET', 30 datatype: 'json', 31 data: { 32 keyword: searchword, //バリューを取得した変数を、dataのオブジェクトの中のvalueに入れます 33 applicationId: '1019399324990976605', 34 booksGenreId: '001', 35 hits: 20, //検索でヒットした件数を指定 36 page: pageNum //ページ数 37 }, 38 }) 39 .done(function (data) { //doneで処理が完了した時 40 console.log(data); 41 //検索結果が0件の場合 42 if (data.hits === 0) { //if文で、ヒット件数が0と厳密に等しい場合 43 $('ul.lists').prepend('<p class="message">検索結果が見つかりませんでした<br>別のキーワードで検索してください</p>'); //listというクラスを持つulの中に、prependでクラスを入れ、pタグを表示させます 44 } 45 //通信が成功した時 46 var booklist = ''; //変数に空の文字列を代入 47 $.each(data.Items,function(index,item){ //$.eachで繰り返し処理を行い、 itemは、現在のアクセスのDOM(htmlなどを自由に操作する仕組み)を意味しています。 48 // console.log(item); 49 booklist += '<li class="lists__item">' + index + '<div class="lists__item__inner">' + '<a href="' + // booklistという変数に必要なクラスを加算代入しつつ、全ての要素に対して固有パラメータを入れます 50 item.Item.itemUrl + '"class="lists__item__link" target="_blank">' + '<img src="' + item.Item 51 .largeImageUrl + '" class="lists__item__img" alt="' + item.Item.title + '">' + 52 '<p class="lists__item__detail">作品名: ' + item.Item.title + '</p>' + //itemは、関数の第二引数,Itemは、楽天の個別商品のバリュー,三つ目は、固有パラメーター 53 '<p class="lists__item__detail">作者 : ' + item.Item.author + '</p>' + 54 '<p class="lists__item__detail">出版社: ' + item.Item.publisherName + '</p>' + '</a>' + 55 '</div>' + '</li>'; 56 }) 57 $('ul.lists').prepend(booklist); //listというクラスを持つulの中にprepend(変数)とし、入れます 58 }) 59 } 60 function fail(){ 61 .fail(function () { //通信失敗時は、fail文を使います 62 $('.lists').after('<div class="error"></div>') //errorという新たなクラスをlistsの後ろ(中)に挿入します 63 error = $('.error'); //変数にクラスを代入 64 error.html('<p class="message">データ通信できませんでした<br>接続を確認してください</p>'); //変数に対して、htmlで書き換えて、文字を入力しないで検索をかけた場合と通信がうまくいかなかった時にエラー文を表示させます 65 }) 66 } 67 }); 68 </script>
>.done.failのドットによってエラーになってしまいます。
https://teratail.com/help/question-tips#questionTips3-4-2
>表示されたエラーメッセージをそのままコピー&ペーストしましょう。自分でタイプしなおしたり、自分で解釈・要約しようとしてはいけません。
そもそもそのエラーとやらが提示されていないので、そこも含めて追記願います。
あと、実際のIDっぽいのが入ってますがこれは全世界に発信して大丈夫ですか?

回答1件
あなたの回答
tips
プレビュー