Как проверить настройки среды Javascript / jQuery / Ajax? - PullRequest
0 голосов
/ 06 апреля 2019

Я выполняю один и тот же код на моем локальном сервере и на реальном веб-сервере, и оба дают разные результаты, когда конкретное значение равно нулю.

Фактический отсканированный код показан ниже:

validate: function(attrs, options) {
        var errors = [];
        if (typeof(this.get('shipping_address.' + options.key)) !== 'undefined' && this.get('shipping_address.' + options.key).length > 0 && typeof(attrs.shipping_address[options.key]) !== 'undefined' && attrs.shipping_address[options.key].length == 0) {
            console.log('trying to set an empty value key:' + options.key + " value " + this.get('shipping_address.' + options.key));
            errors.push({
                field: 'shipping_address',
                key: options.key,
                value: this.get('shipping_address.' + options.key)
            });
            return errors.length > 0 ? errors : false;
        }
    },

и строки, которые показывают разные результаты, являются частью оператора if и являются следующими:

this.get('shipping_address.' + options.key).length
attrs.shipping_address[options.key].length

PS options.key является частью набора имен полей, которые могут присутствовать в формеи в одной форме может быть больше полей, чем в другой.

Если в форме нет определенного поля, возвращаемое значение равно нулю;однако в localhost обе эти строки возвращают 0. С другой стороны, веб-сервер возвращается к обоим, а затем выдает «Uncaught TypeError: Невозможно прочитать свойство 'length' из null".

Мой вопрос: как проверить настройку среды?Я знаю, что Javascript - это обработка на стороне браузера, но я сбит с толку тем, что под одним и тем же браузером localhost и реальный веб-сервер показывают разные результаты и ведут себя по-разному.

...