Здравствуйте, я пытаюсь выключить Kodi (raspberry pi) с помощью мобильного приложения (blackberry qml). Но не знаю как.
Я использовал этот код: (в браузере)
http://[myip]:[myport]/jsonrpc?request={jsonrpc:2.0,method:System.Suspend,id:1}
Я использовал этот код: (в приложении)
function sendRequest() {
var xhr = new XMLHttpRequest();
var url = "http://[myip]:[myport]/jsonrpc?request={\"jsonrpc\":\"2.0\",\"method\": \"System.Suspend\",\"id\":1}"
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
console.log(xhr.responseText);
textArea.text = xhr.responseText;
}
}
};
xhr.open("GET", url, true); // with "POST" I got the same problem.
xhr.send();
}
Я получил: {ошибка:{код:-32700,сообщение:Ошибка синтаксического анализа.},id:null,jsonrpc:2.0}
Удаленное из веб-браузера работает нормально (http://[myip]:[myport]) Спасибо за ваши ответы.
********** Обновление: 21.10.2020 **********
Я в процессе. Но я не знаю, что делать дальше. Я нашел некоторую информацию, почему у меня есть ошибка. Я не знаю, как реализовать в моем коде.
Вы можете помочь мне? Большое спасибо.
https://github.com/xbmc/xbmc/pull/12281
https://forum.kodi.tv/showthread.php?tid=324598&highlight=json
Вот как это сделать. Но я не могу этого понять.
https://retifrav.github.io/blog/2018/09/01/kodi-remote-control-app/
Это моя функция (на Kodi 17.6 она работает, а на Kodi 18 не работает)
function sendRequest() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
text.text = xhr.responseText
}
}
};
var url = 'http://<IP:PORT>/jsonrpc?request={"jsonrpc": "2.0", "id": 1, "method": "System.Shutdown"}'
xhr.open("GET", url, true) // when I write "POST" - nothing happens
xhr.send()
}
/
перед1
в вашем json. - person Roger Leblanc   schedule 10.10.2020