Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.05.2019, 13:03
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 103

аналог getResource для отправки?
Здравствуйте, подскажите такой момент, кто знает

Здесь я отправляю на сервер запрос:
export default class DataService {

  getResource = async (url) => {
    const res = await fetch(domain/data);

    return await res.json();
  }
};

Получаю объекты в массиве.

Подскажите, как отправить например два объекта туда с JSON
array: [
{
  id:1,
  title: "text"
 },
 {
  id:2,
  title: "text2"
 }
]
Ответить с цитированием
  #2 (permalink)  
Старый 23.05.2019, 18:46
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,304

Сообщение от NeonMan
Подскажите, как отправить например два объекта туда с JSON
fetch("data", {
	method: "POST",
	body: JSON.stringify([{
			id: 1,
			title: "text"
		}, {
			id: 2,
			title: "text2"
		}
	])
});
Ответить с цитированием
  #3 (permalink)  
Старый 23.05.2019, 19:41
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 103

Сообщение от Malleys Посмотреть сообщение
fetch("data", {
О супер, спасибо, а "data" туда кладем url без кавычек?
fetch(domain/data, {


И если по адресу уже есть массив
[{
   id: 1,
   title: "text"
  }, 
  {
    id: 2,
    title: "text2"
  }
]

Новые объекты появятся в начале массива?


Не могли бы вы попробовать получить данные отсюда: http://starnavi-frontend-test-task.h...pp.com/winners
Здесь всего один небольшой массив, 6 объектов, если ввести в браузере они отобразятся, но я никак не могу получить этот массив через fetch, не хочет закидывать его в json(), может вы знаете в чем проблема? Пишет: Unexpected token < in JSON at position 0

Последний раз редактировалось NeonMan, 24.05.2019 в 02:07.
Ответить с цитированием
  #4 (permalink)  
Старый 24.05.2019, 14:39
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,304

Сообщение от NeonMan
но я никак не могу получить этот массив через fetch, не хочет закидывать его в json(), может вы знаете в чем проблема? Пишет: Unexpected token < in JSON at position 0
Там нет разрешения , чтобы получать данные с других доменов... Но вы можете использовать прокси...
<pre id="output"></pre>
<script>
(async function() {
	var message;

	try {
		const response = await fetch("https://cors-anywhere.herokuapp.com/https://starnavi-frontend-test-task.herokuapp.com/winners");
		const data = await response.json();

		message = JSON.stringify(data, null, "\t");
	} catch(error) {
		message = error.message;
	}

	document.getElementById("output").textContent = message;
})();
</script>


Я использую cors-anywhere.herokuapp.com только для примеров на этом форуме, вы должны заменить на своё собственное прокси, которое гарантированно стабильно и быстро будет работать!

Последний раз редактировалось Malleys, 24.05.2019 в 14:44.
Ответить с цитированием
  #5 (permalink)  
Старый 24.05.2019, 15:46
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 103

Сообщение от Malleys Посмотреть сообщение
Там нет разрешения , чтобы получать данные с других доменов...
Да, я использовал прокси по итогу вот такой:
express + axios
const express = require("express");
const app = express();

const axios = require("axios");

const bodyParser = require("body-parser");
app.use(bodyParser.json());

const cors = require("cors");
app.use(cors());

app.post("/", (req, res) => {
  const requestConfig = req.body;
  axios(requestConfig)
    .then(r => r.data)
    .then(data => {
      res.send(data);
    })
    .catch(() => {
      res.sendStatus(400)
    });
});

app.listen(8080);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт корзины для сайта EasyNetShop.ru Ваши сайты и скрипты 0 17.11.2016 14:57
SEOCRM - бесплатные инструменты для оптимизаторов, интернет-маркетологов и владельце SeoCRM Оффтопик 0 23.05.2016 12:59
Требуется программист на QML для создания интерфейса клиентской программы для общения m.simakov Работа 0 11.02.2016 18:07
Посоветуйте как улучшить код для работы с history api [ jquery + js + history api ] Geo Ваши сайты и скрипты 0 11.01.2014 23:41