Отображение jquery результата, данные там, но не отображаются - PullRequest
0 голосов
/ 14 апреля 2020

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

index. html

<!DOCTYPE HTML>

<html>
    <head>
        <title>integrator</title>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <meta name="description" content="" />
        <meta name="keywords" content="" />
        <!--[if lte IE 8]><script src="js/html5shiv.js"></script><![endif]-->
        <script src="{{ url_for('static', filename='js/jquery.min.js') }}"></script>
        <script src="{{ url_for('static', filename='js/skel.min.js') }}"></script>
        <script src="{{ url_for('static', filename='js/skel-layers.min.js') }}"></script>
        <script src="{{ url_for('static', filename='js/init.js') }}"></script>
        <script src="{{ url_for('static', filename='js/searchUpdate.js') }}"></script>
        <link rel="stylesheet" href="{{ url_for('static', filename='css/skel.css') }}" />
        <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}" />
    </head>
    <body id="top">

        <!-- Header -->
            <header id="header" class="skel-layers-fixed">
                <h1><a href="#">Integrator</a></h1>
                <nav id="nav">
                    <ul>
                        <li><a href="index.html">Home</a></li>
                        <li><a href="">Acct. Info</a></li>
                        <li><a href="">Ticket Search</a></li>
                        <li><a href="no-sidebar.html">Sharepoint</a></li>
                    </ul>
                </nav>
            </header>

        <!-- Banner -->
            <section id="banner">
                <div class="inner">
                    <h2>integrator</h2>
                    <p>CNG service integrator</p>
                    <p><form class="pure-form" action="/clientLookup" method="post">
                            <input type="text" class="pure-input-rounded" name="clientID">
                        <button type="submit" class="pure-button">Search</button>
                    </form></p>
                </div>
            </section>

        <!-- One -->
        {% block content %}
        {% endblock %} 
        <!-- Two -->

        {% block secondContent  %}
        {% endblock %}
        <!-- Three -->
        {% block searchContent %}
        {% endblock %}
        <!-- Footer -->
            <footer id="footer">
                <div class="container">
                    <div class="row double">
                        <div class="6u">
                            <div class="row collapse-at-2">
                                <div class="6u">
                                    <h3>Links</h3>
                                    <ul class="alt">
                                        <li><a href="#">Link to stuff</a></li>
                                        <li><a href="#">Link to stuff</a></li>
                                        <li><a href="#">Link to stuff</a></li>
                                    </ul>
                                </div>
                                <div class="6u">
                                    <h3>Links</h3>
                                    <ul class="alt">
                                        <li><a href="#">Link to stuff</a></li>
                                        <li><a href="#">Link to stuff</a></li>
                                        <li><a href="#">Link to stuff</a></li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                        <div class="6u">
                            <h2>integrator</h2>
                            <p>Connecting Sharepoint, Tigerpaw, Appenate,
                            Teams, and documentation into one interface</p>
                        </div>
                    </div>
                    <ul class="copyright">
                        <li>&copy; Untitled. All rights reserved.</li>
                    </ul>
                </div>
            </footer>

    </body>
</html>

searchUpdate. js

$(function() {
  $('a#process_input').bind('click', function() {
    $.getJSON('/soSearch', {
      searchTerm: $('input[name="searchTerm"]').val(),
      workType: $('input[name="workType"]:checked').val(),
      clientID: $('input[name="acctNumber"]').val(),
    }, function(data) {
      $("#result").text(data.result);
    });
    return false;
  });
});

связанный html блок для индекса. содержится в clientInfo. html (если это имеет значение, все 3 блока находятся в одном и том же файле)

{% block searchContent %}
            <section id="three" class="wrapper style1">
                <div class="container">
                    <div class="row">
                        <div class="12u">
                            <section>
                                <h2>SO Search</h2>
                                <a href="#" class="image fit"><img src="{{ url_for('static', filename='images/pic03.jpg') }}" alt="" /></a>
                                <form class="pure-form">
                                    <fieldset> 
                                        <p>
                                        <input type="text" placeholder="searchterm" name="searchTerm">
                                        <input type="hidden" name="acctNumber" value="{{ infoItems[0]['AccountNumber'] }}">
                                        <label for="option-one" class="pure-radio">
                                            <input id="option-one" type="radio" name="workType" value="WorkPerformed">
                                            Work Performed
                                        </label>

                                        <label for="option-two" class="pure-radio">
                                            <input id="option-two" type="radio" name="workType" value="WorkRequested">
                                            Work requested
                                        </label>

                                        <a href=# id=process_input><button class='pure-button'>Search</button></a>
                                        </p>
                                    </fieldset>
                                </form>
                        <p id=result></p>
                            </section>
                        </div>
                    </div>
                </div>
            </section>          
{% endblock %}

Все работает до тех пор, пока не попытается отобразить возвращенные данные. Ничего не отображается в

<p id=result></p>

Я использовал этот Python / AJAX как мой go для.

Как только я нажимаю поиск, все работает. Я вижу в инструментах разработчика, что json возвращается. Как я уже сказал, ничего не отображается.

В качестве дополнительного вопроса, так как я передаю большую часть информации, <p> не будет работать, это просто для тестирования. Должен ли я предполагать, что если я хочу построить динамическую таблицу c возвращаемых данных, которая должна быть сделана внутри js, а не python, поскольку нет реальной страницы refre sh?

1 Ответ

0 голосов
/ 27 апреля 2020

Оказывается, пример, который я использовал, был неверным. Изменено на:

        $.getJSON('/soSearch', {
      searchTerm: $('input[name="searchTerm"]').val(),
      workType: $('input[name="workType"]:checked').val(),
      clientID: $('input[name="acctNumber"] option:selected').val(),
    }, function(data) {
        resultList = '<ul class="alt">';
        for ( x in data) {
            console.log(data[x]);
            resultList += '<li><b>' + x + ' </b> :  ' + data[x] + '</li>';
        }
        resultList += '</ul>';
        //console.log(JSON.stringify(data[0][0]));
      $('#result').html(resultList);
    });
    return false;
  });

В целом это был .text to. html, который заставил его отображаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...