javascript - Pengepala CORS tiada dalam permintaan GET pengambilan 'Access-Control-Allow-Origin'
巴扎黑
巴扎黑 2017-06-12 09:23:04
0
2
1111

Apabila pelayan membalas permintaan pengambilan GET, mestikah parameter 'Access-Control-Allow-Origin' ditetapkan dalam pengepala respons?

Ini adalah API Yiban, bukan pelayan saya

Tiada masalah semasa membuat permintaan pada pelayar

Saya menyemak beberapa maklumat dan mendapati ia tidak berguna

Ini adalah kod untuk permintaan mendapatkan saya

function request_get(url) {
    return fetch(url, {
        credentials: 'include',
    }).then(function(response) {
        return response.json()
    })
}
巴扎黑
巴扎黑

membalas semua(2)
小葫芦

Masalah ini disebabkan oleh dasar asal pelayar yang sama, dan terdapat beberapa penyelesaian:

  1. JSONP

  2. CORS

  3. Gunakan pelayan sumber statik Nginx atau Express untuk konfigurasi proksi rangkaian, dan simulasi sumber tempatan dan jauh untuk menjadi sumber yang sama untuk menarik data

世界只因有你

Ini bermakna API yang anda minta tidak berada dalam domain yang sama dengan halaman anda Jika API tidak menetapkan medan Access-Control-Allow-Origin, ini bermakna ia bukan antara muka API yang menyokong akses merentas domain. Apabila menulis Logik Ambil pada halaman, tidak kira bagaimana pengepala permintaan disesuaikan, ia juga akan dipintas oleh penyemak imbas (sebelum pengambilan, penyemak imbas akan memulakan permintaan OPTIONS pra-penerbangan dan menentukan sama ada pengambilan dibenarkan berdasarkan medan pengepala Pada masa ini, penyemak imbas menentukan API tidak menyokong domain silang, jadi permintaan dipintas atas sebab keselamatan).

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan