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