Apabila mencuba permintaan HTTP merentas domain kepada perkhidmatan WCF, adalah penting untuk mengambil kira pengehadan CORS. Artikel ini meneroka cara untuk prapenerbangan permintaan HTTP menggunakan OPTIONS untuk mengatasi halangan ini.
Sebelum menghantar permintaan sebenar, penyemak imbas mendahului permintaan menggunakan permintaan OPTIONS untuk menentukan sama ada pelayan membenarkan permintaan itu. Langkah ini termasuk menghantar dua pengepala permintaan khas:
Untuk menampung permintaan pra-penerbangan ini, pelayan harus bertindak balas dengan pengepala yang sesuai:
Menggunakan jQuery.getJSON untuk permintaan GET memerlukan pra-penerbangan dengan permintaan OPTIONS. Ini boleh dilaksanakan seperti berikut:
<code class="javascript">$.ajax({ url: "http://your.wcf.endpoint", type: "OPTIONS", success: function(data) { console.log("Preflight successful:", data); } }); $.getJSON("http://your.wcf.endpoint", function(data) { console.log("Actual GET request:", data); });</code>
Pertimbangkan permintaan pra-penerbangan masuk dengan pengepala berikut:
Origin: http://yourdomain.com Access-Control-Request-Method: POST Access-Control-Request-Headers: X-Custom-Header
Pelayan harus bertindak balas dengan:
Access-Control-Allow-Origin: http://yourdomain.com Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Headers: X-Custom-Header
Pengepala-Permintaan-Kawalan-Kawalan-Akses mesti dikumandangkan dalam respons Access-Control-Allow-Headers dan kad bebas '*' tidak dibenarkan.
Atas ialah kandungan terperinci Bagaimanakah Permintaan Pilihan Prapenerbangan Mendayakan Akses HTTP Rentas Domain kepada Perkhidmatan WCF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!