JQuery 1.5 AJAX отправки как получить данные на POST - PullRequest
3 голосов
/ 10 марта 2011

(извините за мой английский, это не мой родной язык) У меня есть проект, который использует codeigniter + JqueryUI. Я думал об обновлении версии JQuery до 1.5, главным образом потому, что я использую много вызовов ajax, и любое улучшение в скорости высоко ценится. Итак, это мой код, который прекрасно работает в JQuery версии 1.4.4:

$("#nome_produto").autocomplete({
            source: function( request, response ) {
                $.ajax({
                    async:false,
                    url: "<?php echo site_url("produtos_produto/json_produtos/f") ?>",
                    dataType: "json",
                    type: "POST",
                    data: request,
                    success: function( data ) {
                        response( $.map( data, function( item ) {
                            return {
                                label: item.label,
                                value: item.label,
                                cod: item.cod
                            }
                        }));
                    },
                    beforeSend:function(){
                        $("#nome_produto").toggleClass("loading");
                    },
                    complete:function(){
                        $("#nome_produto").toggleClass("loading");
                    }
                });
            },
            minLenght:3
        });

В Jquery 1.5 я получил ошибку 404, но запрошенный URL-адрес: http://myurl.com/produtos_produto/json_produtos/f?callback=JQUERY_hashofnumbers, даже если это почтовый запрос. Кто-нибудь знает, почему это происходит?

Ответы [ 2 ]

5 голосов
/ 10 марта 2011

может быть связано с этим билетом: http://bugs.jquery.com/ticket/8084 быстрое решение:

  jQuery.ajaxSetup({ jsonp: null, jsonpCallback: null});

перед выполнением вызовов ajax

2 голосов
/ 14 июня 2012

проверка на скрытые перенаправления

в моем случае я использую Django, где, как правило, все URL-адреса заканчиваются на '/'

Если сделан запрос на URL, не заканчивающийся на '/', и ресурс не может быть найден, тогда Django отправляет перенаправление на тот же URL с добавлением '/' (это обычно полезная опция в Django).

В моем javascript я случайно пропустил завершающий символ '/' в моем запросе POST. Это привело к перенаправлению (на правильный URL). Однако очевидно, что POST автоматически преобразуется в GET во время перенаправления (см., Например, https://stackoverflow.com/a/10586852/473285).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...