Isu AJAX Cross-Domain: "Asal tidak dibenarkan oleh Access-Control-Allow-Origin"
Apabila membuat Ajax merentas domain permintaan dalam Sencha Touch 2 dibalut dalam PhoneGap, anda mungkin menghadapi ralat yang menyatakan bahawa asal tidak dibenarkan oleh Access-Control-Allow-Origin. Isu ini timbul disebabkan oleh mekanisme keselamatan penyemak imbas untuk mengelakkan pemalsuan permintaan merentas tapak.
Penyelesaian:
Penyelesaian yang paling mudah ialah mengubah suai respons daripada pelayan dengan menambah pengepala Access-Control-Allow-Origin. Dalam PHP, ini boleh dilakukan menggunakan kod berikut:
<?php header('Access-Control-Allow-Origin: *'); ?>
Konfigurasi pengepala ini membenarkan permintaan Ajax merentas domain.
Walau bagaimanapun, menggunakan kad bebas (*) untuk Access-Control- Allow-Origin berpotensi mendedahkan pengguna anda kepada risiko keselamatan. Oleh itu, adalah dinasihatkan untuk menyenarai putih domain tertentu dengan menggunakan ungkapan yang lebih ketat, seperti:
<?php header('Access-Control-Allow-Origin: http://example.com') ?>
Sebagai alternatif, anda boleh menetapkan pengepala Access-Control-Allow-Origin dalam konfigurasi Apache atau fail htaccess.
Dengan melaksanakan konfigurasi pengepala respons yang sesuai, anda boleh menyelesaikan masalah "Asal tidak dibenarkan oleh Isu Access-Control-Allow-Origin" dan dayakan komunikasi Ajax merentas domain.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Origin is not allowed by Access-Control-Allow-Origin' dalam Permintaan AJAX Cross-Domain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!