2016-09-22 4 views
-1

これを書いてIEで動作させるにはどうすればよいですか?IE ajax解析/ .includes()&.indexOf

var varRegion = $('body').data('region'); 

    var eventsJSON = null; 
    var totalEvents; 
    var virtualEvents; 

    $.ajax({ 
    'url': '/services/getAllEvents', 
    'dataType': 'json', 
    'success': function (data) { 
    eventsJSON = data; 
    parseJSONevents(); 
    } 
    }); 

    function parseJSONevents() { 

    var tEvents = eventsJSON.response.Events.filter(function (val, index, array) { 
    return val.participating_region.includes(varRegion); 
    }); 
    totalEvents = tEvents.length; 

    $('.in-person-events').text(totalEvents); 

    return eventsJSON; 

    }; 

答えて

1

return val.participating_region.indexOf(varRegion) > -1;

それにもかかわらず:

var tEvents = eventsJSON.response.Events.filter(function (val, index, array) { 
     return val.participating_region.includes(varRegion); 
}); 
totalEvents = tEvents.length; 

私は問題が.INCLUDES()、だけではないことを確認はどのようにこの使用.indexOf()

完全なコードを書くために知っています関連するすべてのコードとJSON応答構造を見ずには分かりません。

+0

ありがとうございました。フルコードを追加しました。一致するオブジェクトの合計数を返す必要があります。 –

+0

'indexOf(x)> -1'を試しましたか? –

+0

さて、IEで動作します。しかし、すべてのブラウザで自分の数の1/2にすぎない。したがって、このスクリプトでは動作しますが、別のajax呼び出しと異なるJSONファイルを持つ2番目のスクリプトですが、それ以外のコードでは1または0しか生成されません。 –