ошибка при выполнении GET-запроса «Не удалось загрузить ресурс: net::ERR_CONNECTION_REFUSED»

#javascript #node.js #macos #express #xmlhttprequest

#javascript #node.js #macos #выразить #xmlhttprequest

Вопрос:

Очень новичок в этом, но я пытаюсь протестировать небольшое приложение, которое выполняет запрос GET к экспресс-конечной точке на сервере localhosthttp://localhost:3000/golfpool-standings и использует возвращенный JSON для отображения данных в таблице html, но когда я пытаюсь использовать в скрипте, мне не удается загрузить ресурс: net::ERR_CONNECTION_REFUSED Я тестирую на live-сервереhttp://127.0.0.1:5500/golfApp/index.html Я столкнулся с этим, даже просмотрев похожие ответы здесь. Любая помощь приветствуется. Мой первый вопрос, поэтому будьте нежны, пожалуйста.

Я могу получить доступ к конечной точке http://localhost:3000/golfpool-standings из браузера Chrome и возвращенный JSON отображается на экране, поэтому кажется, что серверная часть работает. https://github.com/paulcullen79/golfApp

 // index.js
    const data = $.getJSON("http://localhost:3000/golfpool- 
    standings")

// server.js
    const express = require('express')  
    const app = express()

app.get('/golfpool-standings', (req, res) => {
    res.send(data)
})

const port = process.env.port || 3000
app.listen(port, () => console.log(`Listening on port ${port}...`))
  

Ответ №1:

Эта строка $.getJSON("http://localhost:3000/golfpool-standings") запрашивает json ресурс, но ваш сервер не обслуживает json .

Из jQuery документов:

Начиная с jQuery 1.4, если файл JSON содержит синтаксическую ошибку, запрос обычно завершается без сбоев.

Измените код вашего сервера:

 app.get('/golfpool-standings', (req, res) => {
  // send data as json
  res.json(data)
})
  

Или измените свой запрос на $.get("http://localhost:3000/golfpool-standings")

Комментарии:

1. Большое вам спасибо за ответ, теперь я получаю ответ объекта обратно, хотя и не уверен, как оценить responseJSON объекта, но, по крайней мере, теперь я получаю правильный ответ.

2. Получилось, когда я использую метод done с ответом. Спасибо.