Обратный вызов успеха jQuery.ajax не вызывается, хотя Pyramid действительно возвращает ответ - PullRequest
0 голосов
/ 08 июля 2011

У меня есть простой пост jQuery ajax в веб-приложении Pyramid.

Ajax call:

$.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 = 'error'

Пожалуйста, дайте мне знать, что если я что-то упустил. спасибо

1 Ответ

2 голосов
/ 14 июля 2011

Ибо сталкивается с той же проблемой, что и я, т.е.не хватает сна !!

Ради бога, убедитесь, что html находится на одном и том же сервере, так как это происходит из-за вызова через домены, конечно, html с jQuery - это просто локальный файл, службаобслуживается на localhost.

Таким образом, сервер отклонял запрос без каких-либо подробностей об ошибке, чтобы указать мне правильное направление.слишком сосредоточен на пирамиде, я думал, что это может быть что-то смешное.Забавно, что я потратил столько времени.

...