Ya, saya tahu apa yang Anda pikirkan - pertanyaan CORS lagi, tapi kali ini saya bingung.
Jadi untuk memulai, pesan kesalahan yang sebenarnya:
XMLHttpRequest tidak dapat memuat http: //localhost/Foo.API/token . Nilai header 'Access-Control-Allow-Origin' dalam respons tidak boleh berupa wildcard '*' saat mode kredensial permintaan adalah 'include' . Asal ' http: // localhost: 5000 ' oleh karena itu tidak diizinkan akses. Mode kredensial permintaan yang dimulai oleh XMLHttpRequest dikontrol oleh atribut withCredentials.
Saya tidak yakin apa yang dimaksud dengan mode kredensial adalah 'sertakan' ?
Jadi ketika saya melakukan permintaan di tukang pos, saya tidak mengalami kesalahan seperti itu:
Tetapi ketika saya mengakses permintaan yang sama melalui aplikasi web angularjs saya, saya bingung dengan kesalahan ini. Ini permintaan / tanggapan angualrjs saya. Seperti yang akan Anda lihat jawabannya adalah OK 200
, tetapi saya masih menerima kesalahan CORS:
Permintaan dan Tanggapan Fiddler:
Gambar berikut menunjukkan permintaan dan respons dari front-end web ke API
Jadi berdasarkan semua posting lain yang saya baca online, sepertinya saya melakukan hal yang benar, itulah mengapa saya tidak dapat memahami kesalahannya. Terakhir, berikut adalah kode yang saya gunakan dalam angualrjs (pabrik login):
Implementasi CORS di API - Tujuan referensi:
Metode 1 digunakan:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
EnableCrossSiteRequests(config);
}
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
var cors = new EnableCorsAttribute("*", "*", "*")
{
SupportsCredentials = true
};
config.EnableCors(cors);
}
}
Metode 2 digunakan:
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
ConfigureOAuth(app);
WebApiConfig.Register(config);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}
Terima kasih banyak sebelumnya!
*
- jadi, sisi server melakukan kesalahan CORS - oh, dan tukang pos berfungsi karena ini bukan permintaan lintas sumber