0

人々

jquery(1.8.3)で奇妙な問題に直面しており、cakePHPを使用しています

ここに画像の説明を入力

画像の通り

POST メソッドで ajax 呼び出しを使用してデータ (約 500 以上) を送信していると想定しています。

この問題は、すべての主要なブラウザーで発生しています。

ここに画像の説明を入力

上記(クロム)のように、コンソールでこのエラーが発生し、ajax呼び出しで618の宛先を渡しました。

この問題を解決するための回避策をお知らせください。

私のajax呼び出しは以下の通りです

function validate_test() {
        $("#btn1").empty();
        var ele = document.getElementById('frm_searchDateFrom').value;
        var ele2 = document.getElementById('frm_searchDateTo').value;
        var sub_url = '<?php echo $this->Html->url('/', true); ?>';
        var url = sub_url + "admin/reports/check_originator/" + ele +"/"+ ele2 +"/"+ $("#destination").val();
        alert(url);
        jQuery.ajax({
            type: "POST",
            datatype: "json",
            url: url,
            success: function(data)
            {
                var el = $("select#btn1").multiselect();
                var d;
                var results=data.split(",");
                for(d=0;d<results.length;d++) {
                var d;
                var v = results[d], opt = $('<option />', {
                    value: v,
                    text: v
                });
                opt.appendTo( el );
                el.multiselect('refresh');
                }
            }
        })
    }
4

1 に答える 1

0

JQuery Ajax メソッドでは、これらすべての詳細を URL クエリ パラメータとして投稿する代わりに、それらの詳細をオブジェクトにラップして送信します。

function validate_test() {
        $("#btn1").empty();
        var ele = document.getElementById('frm_searchDateFrom').value;
        var ele2 = document.getElementById('frm_searchDateTo').value;
        var sub_url = '<?php echo $this->Html->url('/', true); ?>';
        var url = sub_url + "admin/reports/check_originator/";
        var formdata=ele +"/"+ ele2 +"/"+ $("#destination").val();//put form data's in an object 
        alert(url);
        jQuery.ajax({
            type: "POST",
            datatype: "json",
            data:formdata,//send the form data object in post 
            url: url,
            success: function(data)
            {
                var el = $("select#btn1").multiselect();
                var d;
                var results=data.split(",");
                for(d=0;d<results.length;d++) {
                var d;
                var v = results[d], opt = $('<option />', {
                    value: v,
                    text: v
                });
                opt.appendTo( el );
                el.multiselect('refresh');
                }
            }
        })
    }

このフィドル(私のものではない)も参照してください: http://jsfiddle.net/clickthelink/Uwcuz/1/

于 2013-10-16T10:19:12.380 に答える