2017-05-10 6 views
0

私はajaxクエリを行う場合を行います。文字列 'page'が定義されていないか、 'page ='という単語が含まれていない場合、私はajaxクエリを実行します。私はなぜ他の人に合格しないのですか?

変数ページ(「href」)がajaxクエリが生成されるたびに変更されるように指定します。

var page = $(this).attr('href');

ない場合、私は私の '他' へ行ってみたいです。

あなたは何が間違っているのか教えていただけますか?道に迷いました。私はそれがAND条件とORないべきであると考えてい

if (typeof page !== 'undefined' || page.search('page=') !== -1){ 
       $.ajax({ 
        url: page, 
        beforeSend: function() { 
         button.addClass('loading'); 
        }, 
        success: function (data) { 
         $('.former-students__list').append(data.students); 
         button.attr('href', data.next_page); 
         button.removeClass('loading'); 
         w.ajaxGraduated.initGrid(); 
        }, 
       }) 
      } else { 
       button.addClass('finish'); 
       button.attr(href, ''); 
       $('.load-more__label-text').text('Vous avez tout vu !'); 
      } 
+0

条件の説明と条件自体は反対です。今のところ* * undefinedの場合、 '||'のRHSに行くのでエラーになります。あなたが記述したように条件を構造化すべきです... 'if(page === undefined || page.search( 'page =')=== -1){...' –

+0

... 'typeof'を使って' undefined'をチェックしないでください。ただ必要はありません。それはおそらくそれが修正するものよりも悪い問題を引き起こす。 –

+0

...奇妙なことに、 'page'が' undefined'ならばあなたは*クエリを実行したいと言います。しかし、 'undefined 'の場合、あなたは有効な' url'を持っていません。 –

答えて

2

if ((typeof page !== 'undefined') && (page.search('page=') !== -1)) { 
-1

あなたは==通常の演算子を使用してみたりしている=内部のif文!? Eldadがコメントとして

if (typeof page != 'undefined' || page.search('page=') != -1){ 

とは、私はあなたが使用する必要があり、typeof演算は未定義ではないかのように、それはどのような場合であれば、どんなにpage.searchに入ると思います。

0

あなたは

「のページは」「ページ=」あなたが使用する必要があります

「===」のために定義されていないか、言葉が含まれていないときであれば、ブロックが実行したい場合最初の条件であり、 "!=="ではありません。

if (typeof page === 'undefined' || page.search('page=') !== -1){ 
関連する問題