JAVASCRIPT-从服务器获取json并将其分配给变量

时间:2019-01-17 22:33:22

标签: javascript jquery node.js asynchronous

我正在写下一个网站,我需要从客户端访问存储在服务器端的JSON。 获取数据后,我需要将Json分配给一个变量,以便以后可以将其传递给另一个变量。

我已经使用JQuery和其他方法检查了许多方法,但是它们都对服务器执行异步调用,所以我不知道如何将请求与变量分配同步。

我暂时决定使用同步调用来满足我的需求,但原本应该的浏览器开始抱怨了。

这就是我目前拥有的一段代码:

// TODO: [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated 
// because of its detrimental effects to the end user's experience. For more help, 
// check https://xhr.spec.whatwg.org/.

function httpGet(theUrl)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

var jsonData = httpGet('minutes');

simplyCountdown = function (elt, args) {
    var parameters = extend({
            year: 2019,
            month: 10,
            day: 7,
            hours: 0,
            minutes: 0,
            seconds: 0,
            words: JSON.parse(jsonData),
.
.
.

我以前尝试过:

var jsonvar;
$.getJSON('minutes', function(data) {
     console.log("minutes data: "+JSON.stringify(data));
     jsonvar =  data;
});

或:

async function getJson() {

    const response = await fetch('minutes', {});
    const json = await response.json();
    console.log(json);
    return json;
}

但是当然没有按预期进行。 没有同步通话,有什么方法可以解决这个问题?

P.S我仍然需要研究好Async / await和Promises

0 个答案:

没有答案