Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ошибка Uncaught TypeError: Cannot read property '1' of null? (https://javascript.ru/forum/jquery/81376-oshibka-uncaught-typeerror-cannot-read-property-%271%27-null.html)

Nexus 17.11.2020 14:55

Цитата:

Сообщение от orb
Получается вместо аргумента должен передаваться массив с данными

Почитайте для начала: https://learn.javascript.ru/function-basics

У вас на клиент передается прямо массив $config?
Если это так, то названия его ключей на клиенте и сервере не совпадают. На сервере цены имеют ключ priceSapog, а на клиенте идет обращение к ключу prices.

orb 17.11.2020 17:44

В общем сервером возвращался NULL в поле prices, исправил
теперь есть значения, prices: {1: "10", 2: "10", 3: "700", 4: "700", 5: "700", 6: "200", 7: "400"}
Но нет сортировки почему-то на конкретную цену, а выходит вся группа без сортировки, в зависимости от товара должна быть одна цена.

Ну в консоле эти ошибки остались


mob.js?:137 Uncaught ReferenceError: response is not defined
    at openBlockSapog (mob.js?:137)
    at Object.success (mob.js?:89)


function allSearchMethods( action, data, processingRequest ){
    $.post(action, data, function (response) {

        // Все ок есть такой пользователь
        if (response.error != undefined) {
            showError(response);
        }

        // Вывести сообщение ошибки
        else if (response.ok != undefined) {

            if (response.Sapog != undefined) {
                if(processingRequest)
                    processingRequest.css('visibility', 'hidden');
                openBlockSapog(response.Sapog, {Sapog:{content:response.content, idSapog:response.Sapog.idSapog, type:response.type, prices:response.prices, SapogData:response.SapogData}}); // В ЭТОЙ СТРОКЕ ОШИБКА
                
                delete response;
                return;
            }

            if (response.Sapog == undefined) {
                // Close blue block
                openModal({
                    title:response.title,
                    content:'<div class="element-child scroll">' + response.content + '</div>'
                },true);

                elementChildAddClass();

                transLiter('.ajax-box .translit');
                //add open full Sapog list for one user
                $('.openFullSapogList').bind('click', function(){
                    var divEl = $('#FullSapogList-'+$(this).attr('data-idUser') );
                    if( divEl.css('display') == 'none' ){
                        divEl.css('display', 'block');
                    }
                    else{
                        divEl.css('display', 'none');
                    }
                });
            }
        }


        // Скрыть блок процесса
        if( processingRequest )
            processingRequest.css('visibility', 'hidden');

    }, 'json');
}







function openBlockSapog( data, SapogContent ){

  openModal({
      content: SapogContent.Sapog.content
  }, false);
	if( SapogContent.Sapog.type == 'free' ) {
        var SapogType= + SapogContent.Sapog.SapogData[4];
        $('.ajax-box .Sapog-image').attr( 'src', './img/'+SapogType+'.png');
        price=getSapogCost(SapogType, SapogContent.Sapog.prices);
        //единственная бесплатный товар из free-типа товара
        if( SapogType == response.freeSapogType && response.haveFreeSapog == 0  ){ // В ЭТОЙ СТРОКЕ ОШИБКА
          price = 0;
        }
        $('.ajax-box .summa').html(price+'$');
    }else{
        transLiter('.ajax-box .translit');
    }
}

Aetae 18.11.2020 03:12

Откуда у тебя там response возьмётся вообще? Ты его не передаёшь.
Учи javascript нормально или найми фрилансера.


Часовой пояс GMT +3, время: 14:03.