XMLHttpRequest无法加载[archivo]。请求的资源上不存在“Access-Control-Allow-Origin”标头。起源[dominio]

时间:2014-04-07 17:21:58

标签: jquery ajax json xmlhttprequest jsonp

XMLHttpRequest无法加载[archivo]。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许Origin [dominio]访问。

Buenosdías,este es el error que me sale al ejecutarestecódigo:

$.ajax({
    contentType: "application/json; charset=utf-8",
    dataType : "json",
    url: urlArchivo, 
    type: "POST",
    data: { usuario: 'test'},
    crossDomain: true,
    success: function(result) {
        alert(JSON.stringify(result));
    },
    error: function(xhr,status,error) {
        alert(status);
    },
});

他tratado de resolver el problema con jsonp,pero jsonp“transforma”el metodo POST en GET,con lo que el archivo destino no me reconoce los datos que le introductionzco al utilizarelmétodo POST < / strong> para recoger los datos。 来自lo tanto tampoco me sirve ?callback=? dadoquetambién“transforma”elmétodoPOSTen GET。

Otrasoluciónsegúnhevisto es poner en PHP(que es el lenguaje utilizado)en el servidor destinoelcódigo:

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

Pero no quiero tener que llamar para que cambien el archivo destino。来自lo que me preguntaba si existeunasoluciónquesiga transmitiendo los datosconmétodoPosty sin tener que tocar el archivo en el servidor。

Añadoqueefectivamente,sienvíolosdatosatravésdeun formulario html,recoge bien los datos y los transmite,pero no con AJAX。

格拉西亚斯。 IvánRos

1 个答案:

答案 0 :(得分:1)

除了修改远程服务器之外,唯一的选择是在本地服务器上安装一个代理脚本,从远程服务器为您获取数据。