首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twisted.Web和AJAX

Twisted.Web和AJAX
EN

Stack Overflow用户
提问于 2010-08-02 20:13:01
回答 2查看 2K关注 0票数 2

我用Twisted.Web实现了一个玩具web服务:

代码语言:javascript
复制
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()

根据curl的说法,它工作得很好:

代码语言:javascript
复制
$ curl --url http://localhost:8082/test -v
[..]
< HTTP/1.1 200 OK
< Date: Mon, 02 Aug 2010 11:54:35 GMT
< Content-Length: 13
< Content-Type: text/html
< Server: TwistedWeb/8.2.0
< 
hello world!

现在,我想使用JQuery提供的AJAX方法调用服务。下面是对应的Java脚本代码:

代码语言:javascript
复制
[..]
// Submit button
$("#submit").click(function(e){
    $.ajax({type: "POST", 
            url: "http://localhost:8082/test",
            data: {},
            success: function(data) {
              alert("Success:" + data);                  
            }
    });
});
[..]

尽管调用了success回调,但data等于null。有谁知道为什么吗?

谢谢,彼得

EN

回答 2

Stack Overflow用户

发布于 2010-08-02 22:57:07

我不能重现这个问题。我已经在JQuery中使用了您的服务器和您的ajax调用,它加载得很好。警告框显示"Success: hello world!“不出所料。你一定是出了什么问题。

票数 2
EN

Stack Overflow用户

发布于 2014-09-18 22:23:38

dataType很重要,如果你使用dataType:'jsonp‘,你应该从服务器端发送一个回调。我认为正因为如此,它可以在curl中工作,而不能在你的浏览器中工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3387581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档