javascript parser_console.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript parser_console.js相关的知识,希望对你有一定的参考价值。

var modelsAllObj = [];
var all_info = [];
var requests = [];
console.log('Идет получение списка моделей...');
$('#ul_3 a').each(function(){
    mark = $(this).attr('data-mark');
    var promise = $.ajax({
        type: "GET",
        url: sourceUri + "modelajax2.php",
        data: {
            mark: mark,
            disableProp: 'REIKA_DISABLE',
            current_url: location.href.toString()
        }
    }).done(function( el ) {
        row = $(el).find('#ul_4 a');
        row.each(function(){
            var modelsObj = {};
            modelsObj.id = $(this).attr('data-model');
            modelsObj.name = $(this).text();
            modelsAllObj.push(modelsObj);
        });
    });

    requests.push(promise);
});

$.when.apply($, requests).done(function() {
    console.log('Весь список моделей успешно получен');
    console.log('Всего получено ' + modelsAllObj.length + ' элементов.');
    console.log(JSON.stringify(modelsAllObj));
    
    // Получаем информацию по каждой детале
    var i = 0;
    var n = 0;
    var count_iter = modelsAllObj.length;
    //var count_iter = 20;

    $(modelsAllObj).each(function(){
        if( n < count_iter){
            $.ajax({
                type: "POST",
                url: sourceUri + "sectionajax2.php",
                data: {
                    ids: this.id,
                    sectionID: $("#sectionID").html(),
                    current_url: location.href.toString()
                }
            }).done(function( el, textStatus, jqXHR) {
                var cur_model = modelsAllObj[i];
                i++;
                row = $(el).find('.elem_tab');
                row.each(function(){
                    var obj = {};
                    obj.model_id = cur_model.id;
                    //obj.name_model = $(this).find('a.name').next('div').next().html();
                    obj.desc = $(this).find('td[valign=top]').clone().children().remove().end().text();
                    obj.desc = replacer(obj.desc, 1);
                    obj.count = $(this).find('div.no_count strong').eq(0).text();
                    if (obj.count.length == 0) {
                        obj.count = $(this).find('div.no_count').eq(0).text();
                    }
                    obj.name = $(this).find('a.name').text();
                    obj.name = replacer(obj.name);
                    obj.price = $(this).find('.price b').text();
                    all_info.push(obj);
                });
                if (i == count_iter) {
                    var myJsonString = JSON.stringify(all_info);
                    console.log(myJsonString);
                }
            });
        }
        n++;
    });

}).fail(function() {

});

function replacer(str, spec = 0) {
    var re = /Добавить в корзину/gi;
    var re2 = /Привезти на заказХотите получить уведомление, когда товар появится?/gi;
    var re3 = /Модель авто:/gi;
    if (spec) {
        var re4 = /(\r\n\t|\n|\r\t)/gi;
        var newstr = str.replace(re4, '');
    } else {
        var newstr = str.replace(re, '').replace(re2, '').replace(re3, '');
    }
    
    return newstr.trim();
}

以上是关于javascript parser_console.js的主要内容,如果未能解决你的问题,请参考以下文章

javascript的题。

javascript JavaScript isset()等效: - JavaScript

JavaScript 使用JavaScript更改CSS(JavaScript)

JavaScript之基础-1 JavaScript(概述基础语法)

前端基础-JavaScript的基本概述和语法

JavaScript