Ir para conteúdo
Fórum Script Brasil
  • 0

utilizar AJAX com XMLHttpRequest


Juscelinoo

Pergunta

Boa , Pessoal.

Estou precisando de uma ajuda.

Estou tentando enviar um array atraves de uma função em javascript utilizando o < XMLHttpRequest > para uma pagina em PHP mais não estar passando os Parametros POST.

Abaixo o Fonte em JavaScript:

 

function enviarViaAjax()
 {
    alert("executando a Rotina do  JAVASCRIPT com  XMLHttpRequest (enviarViaAjax2)");
    var vetor = `usuario=${200}&id=${12}&title=${"testando o envio com json manual"}`;
    var dados = "&vetorpar="+ vetor;//"&datasvenc=" + datasvenc; //Aqui você passa o array e as demais variáveis
    alert(dados);
    //var xmlhttp; //Requisita o ajax
  try
  {    
    if (window.XMLHttpRequest)
    {
       alert("Intanciou no primeiro IF do XMLHttpRequest(XMLHttpRequest)");
       var xmlhttp=new XMLHttpRequest(); //se chrome/firefox/op vai usar XMLHttpRequest()
    }
    else
    {
      alert("Intanciou no segundo IF do XMLHttpRequest (Microsoft.XMLHTTP) ");
      var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //se  IE ActiveXObject
    }
  }
  catch (IEAtual)
  {
     try
    {
      alert("Intanciou no segundo ELSEIF do Msxml2.XMLHTTP");
      var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(IEAntigo)
    {
      try
      {
        alert("Intanciou no segundo ELSEIF do Microsoft.XMLHTTP");
        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(falha)
      {
         alert("falhou no NEW XMLHttpReques");
      }
    }
  }
  alert("executou o OPEN");
  xmlhttp.open('POST','http://localhost:9099/consignado/TESTE2.PHP',true); //open("POST","arquivo.php",true);//Informa seu arquivo.php http://localhost:9099/consignado/TESTEARR.PHP
  xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  //xmlhttp.setRequestHeader("Content-type", "multipart/form-data");
  xmlhttp.send(dados);//Envia os dados
    ///////////////////////////////
  xmlhttp.onreadystatechange = function ()
  {
    if (xmlhttp.readyState == 4)
      {
         if (xmlhttp.status == 200)
         {
            alert("resposta OK do LADO do XMLHttpRequest.status");
            alert(xmlhttp.status);
            alert(xmlhttp.responseText);
            //console.log(xmlhttp.responseText)
 
         }
         else
         {
          alert("resposta Não OK do LADO do XMLHttpRequest.status");
          alert(xmlhttp.status);
         }
      }
      else
      {
 
Fonte em PHP :
<?PHP
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
if(isset($_POST))
{
  echo "<script>alert('ARRAY RECEBIDO VIA POST');</script>";
  var_dump($_POST);
}
else
{
echo "<script>alert('ARRAY Não RECEBIDO VIA POST');</script>";
  var_dump($_POST);
}
?>
Estar sempre entrando no ELSE ou seja não estar achando o parametro passado
 
 
 
 
 
 
 
        alert("resposta Não OK do LADO do XMLHttpRequest.readyState");
        alert(xmlhttp.readyState);
      }
  }
}
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Há muitos anos que não se usa mais XMLHttpRequest

use fetch : https://developer.mozilla.org/pt-BR/docs/Web/API/Fetch_API
A Fetch API fornece uma interface para buscar recursos (por exemplo, em toda a rede). Parecerá familiar para qualquer pessoa que tenha usado XMLHttpRequest, porém a nova API oferece um conjunto de recursos mais poderoso e flexível.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu tentei executar o seu código, mas ele não funcionou.

Eu fiz as seguintes adaptações:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
    function enviarViaAjax(){
        alert("resposta Não OK do LADO do XMLHttpRequest.readyState");
    }
enviarViaAjax()
</script>

O JavaScript é coisa nova para mim. Tudo o que eu sei do JavaScript eu aprendi com o Iowys e o Wash aqui no fórum. Para eu usar as funções do ajax, eu preciso conectar o HTML com a biblioteca do ajax através do primeiro código <script src>.

Para colocar o Javascript no HTML eu preciso usar o marcador <script></script>.

Outra coisa que eu aprendi com o Iowys e o Wash foi separar os códigos, o <?php ?> de um lado, e o <script></script> do outro lado. O Iowys me orientou a separar o PHP e o HTML. Eu ainda não consegui, estou estudando o Laravel para ver se é possível separar essas duas linguagens de programação. Mas misturar <?php ?> com <script>, você é o primeiro caso aqui no fórum, mas eu aconselho a não fazer isso a menos que seja estritamente necessário.

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...