Heim > Web-Frontend > js-Tutorial > Hauptteil

jquery ajax kann das Array nicht an den Hintergrund übergeben

一个新手
Freigeben: 2017-09-18 09:17:36
Original
1885 Leute haben es durchsucht

Zuerst dachte ich, dass „traditional:true“ entbehrlich sei, aber später, als ich „traditionell“ nicht verwendete, stellte ich fest, dass der Wert von „selectUsers“ nicht im Hintergrund abgerufen werden konnte, daher ist es sicher, dass der Standardwert von traditionell ist falsch.

Wenn der übermittelte Parameter ein Array ist ({selectUsers:[value,value,value]}),

Wenn es falsch ist, wird es übermittelt, wenn „selectUsers[]=value&selectUsers[]=value“ ist

name nihao
list[] [3]
0 x
1 y
2 z
ckee o
m2[name] zzzzz
m2[list][] [3]
0 x1
1 y1
2 z1
m2[ckee] o1

Wenn auf „true“ gesetzt, lautet die Übermittlung „selectUsers=value&selectUsers=value“

name nihao
list [3]
0 x
1 y
2 z
ckee o
m2 [object+Object]

Auf diese Weise kann String[] ids=request verwendet werden im Hintergrund. getParameterValues("selectUsers"); Ruft den Wert ab.
Die offizielle Dokumentation erklärt es wie folgt:
traditionell
Typ: Boolean
Wenn Sie Daten auf traditionelle Weise serialisieren möchten, dann setzen Sie es auf true.

Setzen Sie dies auf true, wenn Sie den traditionellen Stil der Param-Serialisierung verwenden möchten

Front-End-JS

 var obj2 = {
                "name": "nihao",
                "list": ["x", "y", "z"],
                "ckee": "o",
                "m2": {
                    "name": "zzzzz",
                    "list": ["x1", "y1", "z1"],
                    "ckee": "o1"
                }
            }

            $.ajax({
                type: "POST",
                url: "/Home/SubmitForm",
                data: obj2,
                dataType: "text",
                async: false,
                traditional: true,
                success: function (data) {
                    var rows = data.rows;

                }
            });
            $.ajax({
                type: "POST",
                url: "/Home/SubmitForm",
                data: obj2,
                dataType: "text",
                async: false,
                traditional: false,
                success: function (data) {
                    var rows = data.rows;

                }
            });
Nach dem Login kopieren

Backstage

        [HttpPost]
        public string SubmitForm(mymode request)
        {
            if (request != null)
            {
                // 
            }
            return "操作成功。";
        }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonjquery ajax kann das Array nicht an den Hintergrund übergeben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!