Twisted.Web и AJAX - PullRequest
       5

Twisted.Web и AJAX

2 голосов
/ 02 августа 2010

Я реализовал игрушечный веб-сервис в Twisted.Web:

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 работает нормально:

$ 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!

Теперь я хотел бы вызвать службу, используя методы AJAX, предоставляемые JQuery. Вот соответствующий код Java Script:

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

Хотя вызывается обратный вызов success, data равен null. Кто-нибудь знает, почему?

спасибо, Питер

Ответы [ 2 ]

2 голосов
/ 02 августа 2010

Я не могу воспроизвести проблему. Я использовал ваш сервер и ваш точный вызов ajax с JQuery, и он отлично загружается. В окне предупреждения отображается сообщение «Успех: привет, мир!» как и ожидалось. У тебя должно быть что-то еще не так.

0 голосов
/ 18 сентября 2014

dataType важен, если вы используете dataType: 'jsonp', вам следует отправить обратный вызов со стороны сервера. я думаю из-за этого он работает в curl и не работает в вашем браузере

...