我正在尝试从uri获取数据。我在:
使用示例
https://jsonplaceholder.typicode.com/users/1
并尝试显示id(“ id”:“ 1”)。
我必须将此值转换为变量,因为我也在使用vuejs模板。
是否有一种简单的方法来获取可爱的小数据?
我尝试了Promises和XMLHttpRequest,但是send()抛出错误“ fs.writeFileSync不是函数”,并且我无法同步Promises ...
在导出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中,请:(
答案 0 :(得分:0)
我不明白Vue在这里的目的是什么,但是如果您要发出http请求,则可以使用vue-axios包来完成,并将http请求的结果分配给反应性
答案 1 :(得分:0)
所以,我找到了怎么做:
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);