Доступ к значениям сервера в файле javascript? - PullRequest
0 голосов
/ 23 апреля 2020

РЕДАКТИРОВАТЬ: Забыл фрагмент кода, когда брал релевантный материал

Я хочу работать со значением "jsonData" с моего сервера в моем файле javascript, но я не знаю, как это сделать получить значения там?

код сервера:

var express = require('express');
var app = express();
app.use(express.static('public'));
var Amadeus = require('amadeus');

app.set('view engine', 'ejs');
app.listen(8080);

app.get('/hotels', function(req, res){

    var searchTerm = req.query.cityCode;

    amadeus.shopping.hotelOffers.get({
        cityCode: searchTerm
    }).then(function(response){

        var jsonData = JSON.parse(response.body);
        var output = "";

        for(var i = 0; i < jsonData.data.length; i++){
            output+= "Name: " + JSON.stringify(jsonData.data[i].hotel.name) + "\t";
            output+= "Rating: " + JSON.stringify(jsonData.data[i].hotel.rating) + "\t";  
        }
        res.render('pages/onestar', {jsonData: output});

    }).catch(function(error){

      console.log(error.response); //=> The response object with (un)parsed data
      //console.log(error.response.request); //=> The details of the request made
      console.log(error.code); //=> A unique error code to identify the type of error
    });
});

JavaScript попытка, что у меня до сих пор:

$(document).ready(function(){
    $('#searchbutton').submit(function(){
        event.preventDefault();
        $.get('xxxxxx', function(jsonData){
           console.log(jsonData); 
        });
        return false;
    });

1 Ответ

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

Вам необходимо отправить что-то обратно из вашей серверной программы express в веб-браузер. Есть множество методов для res объекта , чтобы сделать это.

Заменить

  var jsonData = JSON.parse(response.body);

на

  res.status(200).json(JSON.parse(response.body))

Вы также можете отправьте обратно текст JSON в response.body напрямую, а не анализируйте его сначала, только чтобы сказать express, чтобы снова его преобразовать в строку. Но функция req.json() также устанавливает заголовок Content-Type в ответе веб-браузеру, чтобы он знал, что получает JSON. С уважением, это немного сложно для вашего очевидного нынешнего уровня понимания. Имейте это в виду для последующей оптимизации, когда ваш код заработает.

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