我用Twisted.Web实现了一个玩具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!现在,我想使用JQuery提供的AJAX方法调用服务。下面是对应的Java脚本代码:
[..]
// Submit button
$("#submit").click(function(e){
$.ajax({type: "POST",
url: "http://localhost:8082/test",
data: {},
success: function(data) {
alert("Success:" + data);
}
});
});
[..]尽管调用了success回调,但data等于null。有谁知道为什么吗?
谢谢,彼得
发布于 2010-08-02 22:57:07
我不能重现这个问题。我已经在JQuery中使用了您的服务器和您的ajax调用,它加载得很好。警告框显示"Success: hello world!“不出所料。你一定是出了什么问题。
发布于 2014-09-18 22:23:38
dataType很重要,如果你使用dataType:'jsonp‘,你应该从服务器端发送一个回调。我认为正因为如此,它可以在curl中工作,而不能在你的浏览器中工作。
https://stackoverflow.com/questions/3387581
复制相似问题