ajax调用Python程序前提
1、Apache要能调用Python程序,先设置服务器,方法见我的随笔
2、ajax调用过程如下:
<script language="javascript">
function chax(n)
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("cxjg").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","try.py?n="+n,true);
xmlhttp.send();
}
</script>
3、try.py如下:
#!C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe
import cgi
form = cgi.FieldStorage()
n = form.getvalue('n')
print("Content-type:text/html")
print()
print("输入的内容为:",n)
4、这样返回的内容在原页面显示时,中文就会变成乱码
5、怎么处理呢,查了很多资料,最后才找到一个办法,就是在ajax的过程里加上一条语句
xmlhttp.overrideMimeType("text/xml;charset=gb2312")
注:加在xmlhttp.onreadystatechange=function()之前