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!
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.
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.
Also ging ich zum Browser, um die Anfrageinformationen zu überprüfen, und stellte fest, dass ich anscheinend nicht ein paar leere Arrays gesendet hatte.
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>
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.
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.
Also ging ich zum Browser, um die Anforderungsinformationen zu überprüfen, und stellte fest, dass ich anscheinend nicht ein paar leere Arrays gesendet hatte.
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>
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>