Rumah > pembangunan bahagian belakang > masalah PHP > Apakah yang perlu saya lakukan jika php tidak dapat mengembalikan format json?

Apakah yang perlu saya lakukan jika php tidak dapat mengembalikan format json?

藏色散人
Lepaskan: 2023-03-17 20:56:01
asal
3457 orang telah melayarinya

Penyelesaian kepada masalah yang php tidak dapat mengembalikan format json: 1. Tentukan punca khusus ralat dan laksanakan "var a=JSON.stringify(error);alert(a); 2. Ubah suai kod php dan jalankan "var b= eval("(" + data + ")");"

Apakah yang perlu saya lakukan jika php tidak dapat mengembalikan format json?

Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer DELL G3

Apakah yang perlu saya lakukan jika php tidak boleh mengembalikan format json?

php tidak boleh mengembalikan format JSON standard: data yang dikembalikan oleh $.ajax tidak boleh melaksanakan penyelesaian kejayaan

Format standard JSON: {"key":"value","key":"value"}

1 , seperti berikut

$.ajax({
                type: "post",
                url: "index.php?m=Index&a=accessIn&act=access",
                async: true,
                data: {
                    login_access: $('#login_access').val()
                },
                dataType: "text",
                success: function (data) {
                    if (data.codeId == "0") {
                        alert(data.err);
                    } else {
                       alert(data.err);
                      window.location.href = "index.php?m=Index&a=lockData";
                    }
                },
                error:function(error){
                    var a=JSON.stringify(error);
                    alert(a);
                }});
Salin selepas log masuk

2. Selepas pemprosesan latar belakang PHP, kod pulangan ialah:

            $res['err']    = "欢迎您";
            $res['codeId'] = "1";
Salin selepas log masuk

console.log(data), yang boleh dilihat sebagai: {err: " Kata laluan salah dimasukkan!", codeId: "0 ”}, kunci kod tidak mempunyai petikan berganda dan berada dalam format JSON bukan standard, yang akan menyebabkan data yang dikembalikan oleh $.ajax gagal.

3. Analisis adalah seperti berikut:

  • Tentukan punca khusus ralat Memandangkan format objek yang dikembalikan ialah [objek objek], ia perlu ditukar kepada format rentetan untuk pemprosesan pantas. Cari sebabnya:

var a=JSON.stringify(error);
 alert(a);
Salin selepas log masuk

Jika format tidak betul, kod ralat yang dikembalikan pada asasnya ialah: readyState=4, status=200.

  • Pertama ialah mengubah suai kod php dan terus mengembalikan format JSON standard Disebabkan pemformatan kod visualisasi data yang hilang, contoh ini menggunakan pengembalian ke bahagian hadapan untuk menyelesaikan masalah;
    Jenis pulangan ialah :dataType: "text",
    Format yang dikembalikan ialah: {"err": "Input password is wrong!", "codeId": "0"}, perform typeof(), it boleh dilihat bahawa ia dalam format rentetan, dan rentetan itu perlu Tukar kepada JSON, gunakan fungsi eval:

fungsi eval() digunakan untuk melaksanakan ungkapan rentetan dan kembalikan nilai ungkapan - daripada tutorial orang baru

var b= eval("(" + data + ")");//一定按照该格式才是标准的JSON格式
Salin selepas log masuk

Komit komit dan pengembalian bahagian hadapan penuh:

$.ajax({
                type: "post",
                url: "index.php?m=Index&a=accessIn&act=access",
                async: true,
                data: {
                    login_access: $('#login_access').val()
                },
                dataType: "text",
                success: function (data) {
                    var b= eval("(" + data + ")");//string 2 json
                    if (b.codeId == "0") {//读取键值进行判断
                        alert(b.err);
                    } else {
                       alert(b.err);
                      window.location.href = "index.php?m=Index&a=lockData";//跳转页面;
                    }
                },
                error:function(error){
                    var a=JSON.stringify(error);//解析对象为字符串,快速确定原因;
                    alert(a);
                }});
Salin selepas log masuk

Selesai!

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika php tidak dapat mengembalikan format json?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan