JQuery выводит «undefined» на страницу - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть скрипт jquery, который просматривает мой файл data.json, чтобы найти связанные записи, но на моей веб-странице он выводит "undefined".Я попытался присвоить выходной переменной значение null, но затем он просто выводит null.Как я могу просто получить его, чтобы показать фактические результаты?Вот мой код

$(document).ready(function(){

$('#search').keydown(function(){

    $.getJSON("data.json", function(data){
        var search = $('#search').val();
        var regex = new RegExp(search, 'i');
        var currentCategory = "Logistics";
        var output;

        $.each(data, function(key, val){
            if ((val.title.search(regex) != -1) && val.category == currentCategory) {
                output += "<li><img src='"+val.img+"'><h2>"+val.title+"</h2></li>";
            }
        });

        $('ul.news').html(output);
    });
});
}); 

1 Ответ

0 голосов
/ 04 февраля 2019

Это потому, что ваша выходная переменная не определена, когда вы не нашли подходящих данных.Так что обрабатывайте это элегантно, чтобы показать правильный результат для конечного пользователя.

    $(document).ready(function(){

            $('#search').keydown(function(){

                $.getJSON("data.json", function(data){
                    var search = $('#search').val();
                    var regex = new RegExp(search, 'i');
                    var currentCategory = "Logistics";
                    var output; //<-- This is undefined

                    $.each(data, function(key, val){
                        if ((val.title.search(regex) != -1) && val.category == currentCategory) {
                            output += "<li><img src='"+val.img+"'><h2>"+val.title+"</h2></li>";
                        }
                    });                   
                   $('ul.news').html(output || "<li> No Records found</li>"); 
                   // Used "||" to set alternate html if value of 'output' variable is [null, undefined, 0, '']
                });
            });
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...