Heim > Backend-Entwicklung > PHP-Tutorial > javascript - JQuery verwendet die Post-Methode, um Daten anzufordern. Wie werden Parameter im Header übergeben?

javascript - JQuery verwendet die Post-Methode, um Daten anzufordern. Wie werden Parameter im Header übergeben?

WBOY
Freigeben: 2016-08-04 09:20:58
Original
1255 Leute haben es durchsucht

Ich habe diese Methode im Internet gefunden:
$.ajax({

<code> //请求类型,这里为POST
 type: 'POST',
 //你要请求的api的URL
 url: url ,
 //是否使用缓存
 cache:false,
 //数据类型,这里我用的是json
 dataType: "json", 
 //必要的时候需要用JSON.stringify() 将JSON对象转换成字符串
 data: JSON.strigify({key:value}), //data: {key:value}, 
 //添加额外的请求头
 headers : {'Access-Control-Allow-Origin':'*'},
 //请求成功的回调函数
 success: function(data){
    //函数参数 "data" 为请求成功服务端返回的数据</code>
Nach dem Login kopieren
Nach dem Login kopieren

},
});
Aber Eingabeaufforderung:
Anforderungsheaderfeld Access-Control-Allow-Origin ist von Access-Control-Allow-Headers in der Preflight-Antwort nicht zulässig.
ist bereits vorhanden Im PHP-Code ist der Wert von Access-Control-Allow-Headers auf * gesetzt, aber es wird trotzdem ein Fehler gemeldet. Gibt es eine Lösung?

Antwortinhalt:

Ich habe diese Methode im Internet gefunden:
$.ajax({

<code> //请求类型,这里为POST
 type: 'POST',
 //你要请求的api的URL
 url: url ,
 //是否使用缓存
 cache:false,
 //数据类型,这里我用的是json
 dataType: "json", 
 //必要的时候需要用JSON.stringify() 将JSON对象转换成字符串
 data: JSON.strigify({key:value}), //data: {key:value}, 
 //添加额外的请求头
 headers : {'Access-Control-Allow-Origin':'*'},
 //请求成功的回调函数
 success: function(data){
    //函数参数 "data" 为请求成功服务端返回的数据</code>
Nach dem Login kopieren
Nach dem Login kopieren

},
});
Aber Eingabeaufforderung:
Anforderungsheaderfeld Access-Control-Allow-Origin ist von Access-Control-Allow-Headers in der Preflight-Antwort nicht zulässig.
ist bereits vorhanden Im PHP-Code ist der Wert von Access-Control-Allow-Headers auf * gesetzt, aber es wird trotzdem ein Fehler gemeldet. Gibt es eine Lösung?

Lassen Sie uns zunächst darüber sprechen, warum das Problem auftritt. Das liegt daran, dass Ihre Anfrage keine „einfache Anfrage“ mehr ist. Bei domänenübergreifenden Problemen werden einige Anfragen, die bestimmte Bedingungen kombinieren, oft als einfache Anfragen bezeichnet diejenigen, die die Bedingungen für eine „einfache Anfrage“ erfüllen, sind wie folgt: preflight

Der Anforderungstyp muss einer von

, GET, POSTHEAD sein. Der Anforderungsheader (Header) darf nur Folgendes enthalten:

  • Akzeptieren

  • Sprache akzeptieren

  • Inhaltssprache

  • Letzte Ereignis-ID

  • Inhaltstyp: akzeptiert nur application/x-www-form-urlencoded, multipart/form-data, text/plain

Ihr Problem besteht darin, dass Sie offensichtlich einen Header hinzugefügt haben

, wodurch die Anfrage „nicht einfach“ wurde. Wenn die Anfrage nicht einfach ist, sendet der Browser aus Sicherheitsgründen zunächst eine sogenannte Access-Control-Allow-Origin-Anfrage mit der Methode preflightOPTIONS

Für weitere Informationen zur domänenübergreifenden Arbeit wird empfohlen, „Building public APIs and CORS“ zu lesen

Ich verstehe Ihre Frage. Es sollte in Ordnung sein, wenn Sie das überflüssige

header entfernen

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage