I have this code:
function uploadFile(x){
//DEFINIÇÃO E RECEPÇÃO DAS VARIAVEIS PRA ENVIAR COM O AJAX
var file = document.getElementById("id_arq_documento_" + x ).files[0];
var id = document.getElementById("id_arq_" + x).value;
var local_armazenado = document.getElementById("local_armazenado_" + x).value;
var autorizacao = document.getElementById("autorizacao_" + x).value;
//CHECA SE O INPUT FILE ESTÁ VAZIO...
if(document.getElementById("id_arq_documento_" + x).files.length == 0){
alert("Erro (" + x +"): Você deve selecionar um arquivo para envio");
} else if(document.getElementById("local_armazenado_" + x ).value == 0){
alert("Erro (" + x +"): Você deve informar o local de armazenamento");
} else if( confirm('Deseja Realmente arquivar o documento? Esta ação não pode ser desfeita.')) {
//SE O INPUT FILE NÃO ESTIVER VAZIO, EXECUTA A FUNÇÃO
var formdata = new FormData();
formdata.append("arqUP", file);
formdata.append("autorz", autorizacao);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "https://www.meusite.com.br/upload/upload.php?");
ajax.send(formdata);
//POR SEGURANÇA, QUANDO A FUNÇÃO FOR ACIONADA, IRà DESABILITAR O CAMPO processar E CHECKBOX
document.getElementById("botao_processar_"+ x ).disabled = 'true';
document.getElementById("progressBar_"+ x).style.display = 'block';
document.getElementById("botao_processar_"+ x).style.display = 'none';
function progressHandler(event){
var percent = (event.loaded / event.total) * 100;
document.getElementById("progressBar_"+ x).value = Math.round(percent);
document.getElementById("status_"+ x).innerHTML = "Processando: " +Math.round(percent)+"%";
}
function completeHandler(event){
document.getElementById("status_" + x).innerHTML = event.target.responseText;
document.getElementById("progressBar_" + x).value = 0;
document.getElementById("progressBar_" + x).remove();
document.getElementById("botao_processar_" + x).remove();
document.getElementById("id_arq_documento_" + x).disabled = 'true';
document.getElementById("local_armazenado_" + x).disabled = 'true';
document.getElementById("status_arquivo_" + x).innerHTML= '';
alert('Up ok' + x);
}
function errorHandler(event){
document.getElementById("status_" + x).innerHTML = "Falha ao enviar";
}
function abortHandler(event){
document.getElementById("status_" + x).innerHTML = "Envio abortado";
}
}
}
When I call the function inside my server, it executes normally:
ajax.open("POST", "upload.php");
But when I try to send POST to an external URL:
ajax.open("POST", "https://www.meusite.com.br/upload/upload.php?");
It returns me the error:
Failed to send
And in my Invisible Element console it appears:
Response to preflight request does not pass access control: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' link ' is therefore not allowed access.
I have already checked everything. Writing permissions on the remote server, everything.
What can it be? Any ideas?