我是Jquery的新手,下面的脚本不会在HTML页面上产生任何输出。从python脚本发送JSON到JQuery
问题:
在我的剧本,我使用requests
库发送GET请求返回一个JSON对象的烧瓶中的URL。然后需要将该对象发送给JQuery,然后该JQuery将输出网页上的JSON对象。如果我使用response.text
发送数据,它可以正常工作,但是如果我使用response.json()
发送数据,它不会输出任何内容。不过,我需要将它作为JSON对象发送,以便我可以从中提取所有数据并将其放在HTML元素上。
getajaxtest.py:
import requests
import json
def send_log_ajax():
url = 'http://xx.com/returnjsonobj'
response = requests.get(url)
return response.json()
if __name__ == '__main__':
ajax_var = send_log_ajax()
print(ajax_var)
的HTML和JQuery:
<html>
<head><script
src="https://code.jquery.com/jquery-3.2.1.min.js"></script></head>
<body>
<div style="border:1px solid black;background-color:lightgray">
<p id="transactioninfo">Loading Transaction Information...</p>
</div>
<script>
function getlogs() {
var url = 'www.myserver.com/getajaxtest.py';
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function(data) {
$("#transactioninfo").html(data)
},
error: function(e) {
console.log(e.message);
}
});
}
$(document).ready(function(){
setTimeout(function(){getlogs();}, 2000);
setInterval(function(){getlogs();}, 2000);
});
</script>
</body>
</head>
</html>
我应该使用'response.text'然后在JQuery中使用'dataType:'json''吗?不需要转换,我只需要从Jquery – omrakhur
@omrakhur中的键中提取值:然后只需输出Unicode文本的'response.text',或直接将'response.content'写入'sys.stdout。缓冲区“来避免从字节解码并再次编码。 –
我在'response.content'和'response.text'之间有些困惑。如果我使用前者,那么当它返回给JQuery时它仍然会被视为JSON吗? – omrakhur