无法使用 getJSON 方法在 knockout 中获取 JSON 数据

unable to get JSON data using getJSON method in knockout

我试图在 knockout.js 中使用 $.getJSON 方法,但出现 Uncaught (in promise) ReferenceError: $ is not defined 错误。我正在为这个项目使用 knockout-3.4。2.js。

这是我的 javascript 代码:

// get JSON request of foursquare data
    var reqURL = 'https://api.foursquare.com/v2/venues/search?ll=' + this.position.lat + ',' + this.position.lng + '&client_id=' + clientID + '&client_secret=' + clientSecret + '&v=20160118' + '&query=' + this.title;
    console.log(reqURL);
    $.getJSON(reqURL).done(function(data) {
        var results = data.response.venues[0];
        self.street = results.location.formattedAddress[0] ? results.location.formattedAddress[0] : 'N/A';
        self.city = results.location.formattedAddress[1] ? results.location.formattedAddress[1] : 'N/A';
        self.phone = results.contact.formattedPhone ? results.contact.formattedPhone : 'N/A';
    }).fail(function() {
        alert('Something went wrong with foursquare');
    });

Html:

<body>
        <nav class="navbar navbar-light bg-light">
            <!-- <form class="form-inline"> -->
                <div class="input-group">
                    <input type="text" class="form-control mr-sm-2" placeholder="Search" name="q" data-bind="textInput: searchItem, valueUpdate: 'afterkeydown'">
                    <!-- <div class="input-group-btn">
                        <button class="btn btn-outline-success my-2 my-sm-0"><i class="glyphicon glyphicon-search"></i></button>
                    </div> -->
                </div>
            <!-- </form> -->
        </nav>
        <div class="container">
            <div class="col-lg-5">
                <div class="list-group" data-bind="foreach: locationList">
                    <a href="#" class="list-group-item list-group-item-action" data-bind="text: title, click: show"></a>
                </div>
            </div>
            <div id="map"></div>
        </div>
        <!-- <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> -->

        <script type="text/javascript" src="js/knockout-3.4.2.js"></script>
        <script src="js/data.js"></script>
        <script type="text/javascript" src="js/test.js"></script>
        <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCzvsr0e94zenMFlGePE-ywIdt4VoUEy7c&callback=initMap" async defer></script>
    </body>

请帮我解决这个错误。

$ 是 jQuery,因此请检查您是否包含 jQuery javascript 文件。