Twisted.Web and AJAX 類似的線程已經退出。我甚至從那裏拿了代碼,但是我也遇到了同樣的問題,扭曲的服務器像魅力一樣工作,但無法弄清楚爲什麼我不能用ajax獲取它。在類似的線程中,他說警報出來了,但沒有數據。對於我來說,即使警報不會彈出,但另一個Ajax功能的作品,所以一般來說,與Ajax的一切都好,但正是與提取的東西出錯。Ajax POST不工作/扭曲
正如也在類似的線程中所說,我可以使用curl來獲取它 - 並且它顯示hello world,所以服務器可以正常工作100%。
任何想法?
<script type="text/javascript">
// Submit button
$(function(){
$.ajax({type: "POST",
$('a').click(function(){
url: "http://localhost:8082/test",
data: {},
success: function(data) {alert("Success:" + data);}
});
});
});
</script>
<html>
[...]
<a href="#">Load Favorites Movies</a>...
[...]
</html>
server.py
from twisted.web import server, resource, http
class RootResource(resource.Resource):
def __init__(self):
resource.Resource.__init__(self)
self.putChild('test', TestHandler())
class TestHandler(resource.Resource):
isLeaf = True
def __init__(self):
resource.Resource.__init__(self)
def render_GET(self, request):
return self.render_POST(request)
def render_POST(self, request):
return "hello world!"
if __name__ == "__main__":
import sys
from twisted.internet import reactor
reactor.listenTCP(8082, server.Site(RootResource()))
reactor.run()
非常感謝彼得樂貝克和Darkporter。 Peter Le Bek asnwer標記爲正確,Darkporter向我投票。
答案:Peter的答案開箱即用,只是讓我困惑的一點是線,你必須指定靜態文件夾。這很簡單...只需將其中的任何文件夾置於其中,然後放置index.html,並在您訪問網絡時將其放在根目錄中。
我來試試你的解決方案。但我想你們都對1件事情是正確的。我從另一個IP提供頁面。但即使我服務於同一臺服務器,它仍然無法正常工作,這是我做到的。那麼也許你的例子wirk工作。我將稍後發佈 – Viktor 2011-05-02 07:04:55
如果您希望瀏覽器將其作爲同一個域接受,您需要從相同的IP端口提供服務。僅有相同的IP是不夠的。 – 2011-05-02 08:03:34
我做到了。非常感謝你 。你是對的。同樣的端口和IP是必要的。當然,它帶給我另一個問題,如何使用這樣的事情可以說與Django框架,我從80端口Apache服務。但多數民衆贊成我想另一個故事=) – Viktor 2011-05-02 09:36:20