【问题标题】:Jquery 1.5 ajax sending as GET data on POSTJquery 1.5 ajax 在 POST 上作为 GET 数据发送
【发布时间】:2011-07-12 22:04:13
【问题描述】:

(对不起我的英语,这不是我出生的语言) 我有一个使用 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,尽管这是一个发布请求。 有谁知道为什么会这样?

【问题讨论】:

    标签: jquery ajax jquery-ui codeigniter autocomplete


    【解决方案1】:

    可能与这张票有关:http://bugs.jquery.com/ticket/8084 快速解决方法是:

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

    在进行 ajax 调用之前

    【讨论】:

      【解决方案2】:

      检查隐藏的重定向

      在我的例子中,我使用的是 Django,一般来说,所有 URL 都以“/”结尾

      如果对不以“/”结尾的 URL 发出请求并且找不到资源,则 Django 会发出重定向到附加“/”的相同 URL(这是 Django 中通常有用的选项)。

      在我的 javascript 中,我不小心在我的 POST 请求中省略了尾随的“/”。这导致了重定向(到正确的 url)。然而,显然 POST 在重定向期间会自动转换为 GET(参见例如https://stackoverflow.com/a/10586852/473285)。

      【讨论】:

        猜你喜欢
        • 2015-09-07
        • 1970-01-01
        • 2013-08-16
        • 2015-07-17
        • 1970-01-01
        • 1970-01-01
        • 2014-11-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多