Red de conocimiento informático - Aprendizaje de programación - ¿Cómo configurar el encabezado "Orígenes sin control de acceso permitido"?

¿Cómo configurar el encabezado "Orígenes sin control de acceso permitido"?

Si usa POST en todos los dominios, puede crear un iframe oculto, que es lo mismo que cargar imágenes con ajax, pero será más problemático.

Por lo tanto, es relativamente sencillo lograr acceso entre dominios configurando Access-Control-Allow-Origin.

Por ejemplo, el nombre de dominio del cliente es www.cliente.com y el nombre de dominio solicitado es www.servidor.com.

Si utiliza el acceso ajax directamente, obtendrá el siguiente error.

XMLHttpRequest no puede cargar /server.php. El encabezado "Access-Control-Allow-Origin" no existe en el recurso solicitado. Por lo tanto, no se permite el acceso a la fuente "".

Agregue el encabezado de respuesta de la solicitud.

[php]? ¿Mirando la llanura? Copiar

//?Especifique para permitir el acceso a otros nombres de dominio.

encabezado(' Access-Control-Allow-Origin:*);

//?Tipo de respuesta

Encabezado(' Access-Control-Allow-Methods :POST ');

//?Configuración del encabezado de respuesta

header(' Access-Control-Allow-Headers:x-requested-with, content-type '); p>

Se puede lograr el acceso entre dominios Ajax POST.

El código es el siguiente:

cliente.html? Ruta:/client.html

[html]? ¿Mirando la llanura? Copia

& lt! ¿TIPO DE DOCUMENTO? HTML? ¿público? "-//W3C//DTD?HTML?4.0?Transitional//ES " >>p>

& lthtml & gt

& lthead & gt

& ltmeta ? /jquery-1.11.3 . js " & gt; & lt/script & gt;

& lt/head & gt;

& ltbody & gt

<div?id="show"></div>

<script type="text/JavaScript">

$.post ("/server.php", { Nombre: "fdipzone", Género: "Masculino"})

Completo(función(datos){

document.getElementById("show ").

HTML interno? =?datos.nombre? +?'?'? +?data.gender

});

& lt/script & gt;

& lt/body & gt;

</html>

servidor.php? Ruta:/servidor.php

[php]? ¿Mirando la llanura? Copiar

& lt? Lenguaje de programación del lado del servidor (abreviatura de Preprocesador de hipertexto profesional)

$ret? =?Array(

Nombre?= & gt?isset($ _ POST[' nombre '])$ _ POST[' nombre ']?:?'',

Género ? = & gt? isset($_POST['género'])$_POST['género']? :?''

encabezado(' tipo de contenido: aplicación:JSON; conjunto de caracteres = utf8 ') ;

encabezado(' Access-Control-Allow-Origin:*);

Encabezado(' Access-Control-Allow-Methods:POST ');

encabezado(' Access-Control-Allow-Headers:x-requested-with, content-type ');

¿Echo? JSON_encode($ret);

& gt

Control de acceso permitido origen: *? Indica que se permite el acceso entre dominios desde cualquier nombre de dominio. Si necesita especificar un nombre de dominio para permitir el acceso entre dominios, simplemente cambie Access-Control-Allow-Origin:* a Access-Control-Allow-Origin: el nombre de dominio permitido.

Por ejemplo: header(' access-control-allow-origin:');

Si necesita configurar varios nombres de dominio para permitir el acceso, debe usar PHP para manejar él.

Por ejemplo, www.client.com y www.client2.com permiten el acceso entre dominios.

Cambiar Server.php a

[php]Ver texto sin formato

& lt? ¿php?

$ret = array(?

nombre ' = & gtisset($_POST['nombre'])?$_POST['nombre']:' ',?

Género' = & gtisset($_POST['Género']) $_POS