我想有一個網頁,你點擊一個按鈕,通過使用AJAX我從一個Python腳本的字符串,然後顯示在一段HTML元素的字符串。是否可以使用Python,AJAX和CGI一起
我知道我可以使用Python做到這一點,WSGI & AJAX(理論上我能做到這樣),但其waaaay太困難了。我對CGI & python很有經驗。
所以我可以做上述使用CGI?
如果我能怎麼辦python腳本工作,一模一樣的服務使用CGI頁面時爲?
這不起作用:
import cgitb; cgitb.enable()
import cgi
import os
print "Content-Type: text/html\n"
input_data = cgi.FieldStorage()
print "hello"
當我點擊我的頁面我的按鈕,沒有任何反應&我的CGI服務器(用於CGI頁面請求正常工作)給了我一個HTTP 501錯誤。
我的HTML &的javascript:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
<!--
function onTest(dest, params)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("bb").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST",dest,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(params);
}
-->
</script>
</head>
<body>
<p id="bb"> abcdef </p>
<a href="javascript:onTest('aaa.py', '')">Click it</a>
</body>
</html>
爲什麼你不能使用適當的python webframework - 一些東西像Pyramid/Pylons那麼簡單... CGI是90多歲和過時的....所以爲什麼要使用CGI? – 2011-03-01 05:20:26