尽管Pyramid确实返回了响应,但未调用jQuery.ajax成功回调

时间:2011-07-08 01:51:35

标签: python jquery pyramid

我将这个简单的jQuery ajax发布到Pyramid webapp。

Ajax电话:

$.ajax({
     type: 'POST',
     url: 'http://localhost:6543/test',
     dataType: 'json',
     data: JSON.stringify({"username":"demo","email":"demo@something.com","Password":"1234"}),
     success: function (response) {
        alert(response);
     },
     error: function (msg) {
         alert("error");
     }
});

金字塔路线:

config.add_route('test', 'test')
config.add_view('tagzu.views.test', route_name='test', renderer='json')

金字塔观点:

def test(request):
    return {'content':'Hello!'}

现在,当我致电该服务时,我发送此

请求:

POST /test HTTP/1.1
Host: localhost:6543
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:5.0) Gecko/20100101 Firefox/5.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 66
Origin: null
Pragma: no-cache
Cache-Control: no-cache

{"username":"demo","email":"demo@something.com","Password":"1234"}

我得到了这个回应:

HTTP/1.0 200 OK
Server: PasteWSGIServer/0.5 Python/2.7.1
Date: Fri, 08 Jul 2011 01:42:33 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 21

{"content": "Hello!"}

问题是:

从未调用过ajax成功处理程序。 只有错误处理程序继续触发错误 msg.statusText ='错误'

如果我遗失了什么,请告诉我。 感谢

1 个答案:

答案 0 :(得分:2)

然而,遇到与我相同的问题,即。没有足够的睡眠!!

为了上帝的缘故,确保html位于同一台服务器上,因为当然是因为调用跨域,使用jQuery的html只是一个本地文件,该服务在localhost上提供。

所以服务器在没有任何错误细节的情况下拒绝了查询,指出了我正确的方向。

跨领域是我想到的最后一件事,过于专注于金字塔,我认为它可能会做一些有趣的事情。 有趣的是,浪费了这么多时间。