Как получить данные из URI в js синхронно - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь получить данные из URI.Я использую пример по адресу:
https://jsonplaceholder.typicode.com/users/1
и пытаюсь отобразить идентификатор ("id": "1").
Я должен получить это значение в переменной, потому что ятакже используя шаблон vuejs.

Есть ли простой способ получить милые маленькие данные?

Я пробовал Promises, и XMLHttpRequest, но send () выдает ошибку "fs.writeFileSync не является функцией", и мне не удалось синхронизировать обещания ...

Перед экспортом для шаблона vuejs есть мой код:

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var fs = require('browserify-fs');
var xhr = new XMLHttpRequest();

function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}

/*function succes(msg){
  console.log('ok : '+msg);
  changeAffichage(msg);
}
function echec(msg){console.log('ko : '+msg); changeAffichage("error");}
function uri(){
  return fetch('https://jsonplaceholder.typicode.com/users/1')
    .then(function(response){
      return response.json()
      .then(function(value) {
        console.log('value : ');
        console.log(value);
        console.log('id = '+value.id);
        return value.id;
      }).catch(function(error) {
  console.log('Il y a eu un problème avec l\'opération fetch: ' + error.message);
});
    }).catch(function(error) {
  console.log('Il y a eu un problème avec l\'opération fetch: ' + error.message);
});
}*/
function changeAffichage(msg){
  window.affichage=msg;
  console.log("new affichage : "+window.affichage);
}
window.affichage="Meow";
//Promise.all([uri()]).then(succes, echec);

sleep(200);

xhr = new XMLHttpRequest();
xhr.open('GET', 'https://jsonplaceholder.typicode.com/users/1', false);
xhr.send(null);
if (xhr.status === 200) {
    console.log("Réponse reçue: %s", xhr.responseText);
} else {
    console.log("Status de la réponse: %d (%s)", xhr.status, xhr.statusText);
}
changeAffichage(xhr.responseText);

console.log('affichage final = ' + window.affichage);

Я хочу получить значение id в window.affichage,пожалуйста: (

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

Итак, я нашел, как это сделать:

var request = require('sync-request');
var res = request('POST', 'http://MyAPIIP/connect?mail='+this.model.email+'&pass='+this.model.password);
reponse = String(JSON.parse(res.body)[0]['rep']);
console.log(reponse);
0 голосов
/ 24 апреля 2019

Я не понимаю, для чего здесь Vue, но если вы хотите сделать http-запрос, вы можете сделать это с помощью пакета vue-axios и присвоить результат вашего http-запроса реактивному свойству

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