我尝试在浏览器端使用数据时发现了一种奇怪的行为,这是由客户端的python脚本发送的。
ajax调用是:
$.ajax({
async: true,
type: "POST",
url: "/path/cgi-bin/pyscript.py",
data: JSON.stringify(my_array),
dataType: "html",
success : function(data) {
document.getElementById("ajaxAnchor").innerHTML = data + "Some random string to test display"
}
});
}
我想在python脚本中将data
的结果发送回print()
,但这仅适用于异常特定的情况。对于要发回的打印数据,必须首先存在print()
,最后执行\n
。
print("This line won't be sent to browser but is necessary \n")
print("This text will be sent back")
这不仅仅是添加换行符,因为以下示例不起作用:
print("\n This text will not be sent back")
必须有一条“浪费”的行才能成功发送以下内容:
print("This line won't be sent to browser but is necessary")
print("\n This text will be sent back")
我是使用Ajax的初学者,所以如果有人愿意解释为什么会发生这种情况,我想了解底层逻辑。谢谢!
答案 0 :(得分:1)
您使用的是CGI-Protokoll。您必须先发送一个HTTP-Header,它由一个空行终止。最小的答案是:
print("200 OK\n")
print("Your Text.")