【问题标题】:Gathering ofono incoming call status in HTML page by XMLHTTPRequest通过 XMLHTTPRequest 收集 HTML 页面中的 ono 来电状态
【发布时间】:2020-11-17 04:59:39
【问题描述】:

我想向 monitor-ofono.py 发送一个 POST 请求以接收来电状态和号码,我使用 XMLHTTPRequest 成功地将电话号码发送到 dial-number.py。

HTML 代码

<p id="strData"></p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
var link = "http://0.0.0.0/cgi-bin/monitor-ofono.py";
    var Ofono = new XMLHttpRequest();
    Ofono.open("POST", link, true);
    Ofono.onreadystatechange = function ()
       {
        if(Ofono.readyState === 4) {
          if(Ofono.status === 200 || Ofono.status == 0){
               var res = Ofono.responseText;
               document.getElementById('strData').innerHTML = res;
            }
        }
}
    Ofono.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
    Ofono.send(null);
</script> 

monitor-ofono.py 代码(以下是修改后的代码以使问题简短)

#!/usr/bin/python3

from gi.repository import GLib

import sys
import cgi
import dbus
import dbus.mainloop.glib
from gi.repository import GObject
import traceback
import json

sys.stderr = sys.stdout
print('Content-Type: text/plain\n\n')
print(json.dumps('Loading..'))

def property_changed(name, value, path, interface):
    iface = interface[interface.rfind(".") + 1:]
    print(str(json.dumps(pretty(value))))

def added(name, value, member, path, interface):
    iface = interface[interface.rfind(".") + 1:]
    print(str(json.dumps(pretty(value))))

我尝试过这种方式,但无法获取任何数据。 感谢您提供任何帮助提示。

【问题讨论】:

    标签: python xmlhttprequest dbus


    【解决方案1】:

    我通过向服务器发送 POST 请求成功解决了这个问题,然后调用一个函数来收集来电状态并通过 JSON 将结果发送回客户端。

    【讨论】:

      猜你喜欢
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 2019-11-25
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多