Как получить доступ к данным из JSON, содержащим несколько переменных?(в node.js с экспресс-и jquery) - PullRequest
0 голосов
/ 29 сентября 2019

Чтобы избежать множества вызовов ajax, я пытаюсь отправить три переменные через один ответ Ajax, но у меня возникают проблемы с обработкой данных, когда они получены на клиенте.Ниже я объясню.Если не рекомендуется отправлять несколько переменных с одним ответом, скажите, пожалуйста, почему.

Сервер отправляет ответ, включающий три переменные.один - просто массив, два и три - объекты mysql RowDataPacket.Это выглядит так:

let oneJSON = JSON.stringify(one); 
let twoJSON = JSON.stringify(two);
let threeJSON = JSON.stringify(three);

response.write(oneJSON);
response.write(twoJSON);
response.write(threeJSON);
response.end();

Код клиента:

    $.ajax({
      type: "POST",
      url: "http://localhost:3000/getthis", 
      data: {
          "date": date,
      },
      success: function(data) { 

        alert(data);
/* not working: 
        let allvariables = JSON.parse(data); 
alert(allvariables);
*/
    }
    });

На клиенте я получаю один файл JSON, который выглядит следующим образом:

["cat1","cat2","cat3",null][{"strength":"10","temp":"10","category":"cat1"}][{"difficulty":"medium","category":"cat1"}]

Выше код создается через alert(data);.Как вы можете видеть, каждая переменная имеет «[]» вокруг них.

Итак, данные получены, но я не знаю, как вернуть переменные обратно?Я попытался начать с анализа:

let allvariables = JSON.parse(data); alert(allvariables); 

, но, похоже, это не работает, так как оповещение не создается.

Любая идея, как я могу получить переменные из полученного JSONфайл?

1 Ответ

1 голос
/ 29 сентября 2019

Может быть так:

let patternVariable = { one: one,
                        two: two,
                        three: three };
let varriableJSON = JSON.stringify(patternVariable); 
response.write(varriableJSON);
response.end();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...