Я решил эту проблему, используя следующий код.
Использовал метод GET вместо POST в вызове Ajax и удалил JSON.stringify в параметре данных.
var text = "hello";var iRandom = Math.floor ((Math.random () * 10000000) + 1);
$. ajax ({
type: "GET",
url: "https://api.api.ai/v1/query?v=324233",
contentType: "application/json; charset=utf-8",
dataType: "json",
headers: {
"Authorization": "Bearer "+accessToken
},
data: { query: text, lang: "en", sessionId: iRandom},
success: function(data) {
//desired action
},
error: function() {
console.log("Internal Server Error");
}
});
Другое альтернативное решение:
Я сохранил более раннюю версию.
var iRandom = Math.floor ((Math.random () * 10000000) + 1);
тип: POST, данные: JSON.stringify ({query: text, lang: "en", sessionId: iRandom}),
Вместо того, чтобы передавать iRandom как число, я передал его как String и смог получить ответ из диалогового потока.