Ajax POST不起作用/扭曲

| Twisted.Web和AJAX 类似的线程已经退出。我什至从那里获取了代码,但是我遇到了同样的问题,扭曲的服务器就像一个咒语,但是无法弄清楚为什么我无法使用Ajax来获取它。在类似的话题中,他说警报发出了,但是没有数据。对我来说,甚至不会弹出警报,但另一个ajax函数也可以正常工作,因此,一般而言,使用ajax都可以,但是在获取某些内容时却出现了问题。 就像在类似线程中所说的那样,我可以用curl-
$ curl --url http://localhost:8082/test -v
来获取它,并且它显示了hello世界,因此服务器可以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()
非常感谢Peter Le Bek和Darkporter。 Peter Le Bek asnwer被标记为正确,而Darkporter从我这里投赞成票=)。 答案:Peter的答案开箱即用,只是让我感到困惑的是line,您必须在其中指定静态文件夹。这很容易...只要在其中访问任何文件夹,将其中的文件夹分隔开,然后将index.html放在其中,它将是一个根目录。     
已邀请:
您的Javascript已损坏,请尝试以下操作: wwwdir / index.html
<html>
 <head>
  <script src=\"http://code.jquery.com/jquery-1.5.2.min.js\"></script>
 </head>
 <body>
  <a href=\"#\">click me</a>
  <script type=\"text/javascript\">
   $(\'a\').click(function(){
    $.ajax({type: \"POST\",
            url: \"http://localhost:8082/test\",
            data: {},
            success: function(data) { alert(\"Success: \" + data); }
    });
   });
  </script>
 </body>
</html>
您可能仍然会满足darkporter提到的跨域HTTP请求限制,以解决使用同一台Twisted服务器为您的网页提供服务的问题: server.py
from twisted.web import server, resource, http, static

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

    root = static.File(\'/path/to/wwwdir\')
    testHandler = TestHandler()
    root.putChild(\'test\', testHandler)
    reactor.listenTCP(8082, server.Site(root))
    reactor.run()
    
您的JavaScript所驻留的页面是否在同一主机和端口上投放?如果没有,您将遇到跨域问题。     

要回复问题请先登录注册