Masalah:
Cara melaksanakan permintaan POST silang domain menggunakan JavaScript tanpa memuat semula halaman atau memerlukan respons menghuraikan?
Penyelesaian:
Memahami Perkongsian Sumber Merentas Asal (CORS)
Untuk memudahkan komunikasi merentas domain, CORS ialah standard yang dilaksanakan pada pelayan. Dengan menetapkan pengepala respons pada pelayan, anda boleh memberikan kebenaran kepada domain tertentu untuk mengakses sumber pada domain anda sendiri.
Konfigurasi Bahagian Pelayan (Menggunakan PHP):
<?php switch ($_SERVER['HTTP_ORIGIN']) { case 'http://from.com': case 'https://from.com': header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']); header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS'); header('Access-Control-Max-Age: 1000'); header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With'); break; } ?>
Ini membenarkan skrip dari from.com membuat permintaan POST, GET dan OPTIONS merentas domain.
Permintaan AJAX Sisi Pelanggan ( Menggunakan jQuery):
$.ajax({ type: 'POST', url: 'https://to.com/postHere.php', crossDomain: true, data: '{"some":"json"}', dataType: 'json', success: function(responseData, textStatus, jqXHR) { var value = responseData.someKey; }, error: function (responseData, textStatus, errorThrown) { alert('POST failed.'); } });
Proses:
Pertimbangan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Permintaan POST Cross-Domain dalam JavaScript Tanpa Penyegaran Halaman atau Penghuraian Respons?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!