Heim >Backend-Entwicklung >PHP-Tutorial >Das Front-End verwendet Ajax, um ein leeres Array an das Back-End zu senden, aber das Back-End kann das leere Array nicht erhalten!

Das Front-End verwendet Ajax, um ein leeres Array an das Back-End zu senden, aber das Back-End kann das leere Array nicht erhalten!

WBOY
WBOYOriginal
2016-08-25 10:37:282642Durchsuche

Die Sache ist so: Ich verwende Ajax, um mit dem Backend zu interagieren, und muss eine Menge Daten an das Backend senden. Ich habe die Daten gekapselt und sie haben das folgende Format! Dies ist send_data in meiner Ajax-Funktion unten.

Das Front-End verwendet Ajax, um ein leeres Array an das Back-End zu senden, aber das Back-End kann das leere Array nicht erhalten!

Die Daten sind ein Array von Objekten. Die im Array enthaltenen Objekte haben zwei Schlüssel, nämlich Role_code und User_list. Die user_list ist standardmäßig ein Array und kann leer sein.

Dieses Array wurde erfolgreich an das Backend gesendet, aber die user_list mit einer Länge von 0 kann vom Backend nicht abgerufen werden! User_list-Backends, deren Länge nicht 0 ist, können abgerufen werden

Also ging ich zum Browser, um die Anfrageinformationen zu überprüfen, und stellte fest, dass ich anscheinend nicht ein paar leere Arrays gesendet hatte.

Das Front-End verwendet Ajax, um ein leeres Array an das Back-End zu senden, aber das Back-End kann das leere Array nicht erhalten!

Ich bin sehr verwirrt. Kann die Ajax-Funktion von jqeury nicht ein leeres Array übergeben? Im Anhang ist mein Ajax-Code, in dem send_data die Daten sind, die ich am Anfang eingegeben habe.

<code>$.ajax({
    url:"<?php echo site_url('AnnouncementAgent/UserDepartmentConfig/editDepartmentRoleInfo');?>"+"/"+$(this).parents(".modal-content").attr("id"),
    type:"POST",
    data:{send_data},
    dataType:"json",
    success:function (data) {
    if (data.status==1) {
        alert("成功!");
        location.reload();
    }else{
        alert("失败!");
    }                    
   }
})</code>

Bitte bitte Gott, meine Zweifel auszuräumen!

Antwortinhalt:

Die Sache ist so: Ich verwende Ajax, um mit dem Backend zu interagieren, und muss eine Menge Daten an das Backend senden. Ich habe die Daten gekapselt und sie haben das folgende Format! Dies ist send_data in meiner Ajax-Funktion unten.

Das Front-End verwendet Ajax, um ein leeres Array an das Back-End zu senden, aber das Back-End kann das leere Array nicht erhalten!

Die Daten sind ein Objektarray und die im Array enthaltenen Objekte haben zwei Schlüssel, nämlich Role_code und User_list. Unter diesen ist user_list standardmäßig ein Array und kann leer sein.

Dieses Array wurde erfolgreich an das Backend gesendet, aber die user_list mit einer Länge von 0 kann vom Backend nicht abgerufen werden! User_list-Backends, deren Länge nicht 0 ist, können abgerufen werden

Also ging ich zum Browser, um die Anforderungsinformationen zu überprüfen, und stellte fest, dass ich anscheinend nicht ein paar leere Arrays gesendet hatte.

Das Front-End verwendet Ajax, um ein leeres Array an das Back-End zu senden, aber das Back-End kann das leere Array nicht erhalten!

Ich bin sehr verwirrt. Kann die Ajax-Funktion von jqeury nicht ein leeres Array übergeben? Im Anhang ist mein Ajax-Code, in dem send_data die Daten sind, die ich am Anfang eingegeben habe.

<code>$.ajax({
    url:"<?php echo site_url('AnnouncementAgent/UserDepartmentConfig/editDepartmentRoleInfo');?>"+"/"+$(this).parents(".modal-content").attr("id"),
    type:"POST",
    data:{send_data},
    dataType:"json",
    success:function (data) {
    if (data.status==1) {
        alert("成功!");
        location.reload();
    }else{
        alert("失败!");
    }                    
   }
})</code>

Bitte bitte Gott, meine Zweifel auszuräumen!

Kontrollieren Sie das Format genau:
data:JSON.stringify(send_data)

Übrigens, nachdem sich Front-End und Back-End auf das Format geeinigt haben und das Front-End es in die JSON-Codierung konvertiert, kann ein leeres Array übergeben werden (natürlich kann es nach der Codierung nicht als Array bezeichnet werden). ).
Backend (php) json_decode() reicht aus.

Lassen Sie mich zum Schluss noch etwas sagen: Das Einmischen von PHP-Code in den Front-End-Code fühlt sich etwas hässlich an. . .

Namenswert plus

<code>data:{user_list:send_data},</code>

<code>$.ajax({
        type: "POST",
        url: '',
        dataType:'json',
        data: {
            参数A: 参数A的值,
            参数B: 参数B的值
        },
        success:function(result){
            if (result.success) {
                
            }else{
                
            }
        }
    });</code>
Stellungnahme:
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