错误405(不允许方法)

时间:2017-04-19 11:52:08

标签: javascript php ajax rest cors

我正在尝试从我的Github页面(tiagosilveiaa.gihub.io)向另一台服务器发出Ajax请求,但它向我发出一条消息,说明协议不同(https x http)我解决了它这样,

Cod:

//tiagotestes.esy.es/portfolio/php/envia.php

但是现在浏览器会抛出消息405(方法不允许)如何解决?如果配置正确,我可以从我的本地主机发出POST,但不能从我的Github页面发送。

形式:

<form id="contato" action="//tiagotestes.esy.es/portfolio/php/envia.php" method="POST">

JS:

$("#enviar").click(function() {
    if (validar()){
        $.post(
                $("#contato").attr("action"),
                $("#contato").serialize()
            )
            .done(function(retorno) {
                alert(retorno);
                $("#nome").val("");
                $("#email").val("");
                $("#telefone").val("");
                $("#mensagem").val("");

            })
            .fail(function(retorno) {
                alert(retorno)
            });
      }
});

PHP:

<?php
header('Access-Control-Allow-Origin: https://tiagosilveiraa.github.io/');
header('Access-Control-Allow-Methods: POST');
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$nome = $_POST["nome"];
$email = $_POST["email"];
$telefone = $_POST["telefone"];
$mensagem = $_POST["mensagem"];

if ($nome ==""){
  echo("Preencha o campo nome");
  die();
} else if ($email ==""){
  echo("Preencha o campo E-Mail");
  die();
} else if ($telefone ==""){
  echo("Preencha o campo Telefone");
  die();
} else if ($mensagem ==""){
  echo("Preencha o campo Mensagem");
  die();
}

$msgfinal = "Oi, você recebeu uma mensagem enviada pelo formulário do Site<br />
                Esses são os dados do cliente:
                <ul>
                <li><h3>Nome: ". $nome. "</h3></li>
                <li><h3>E-Mail: " .$email. "  </h3></li>
                <li><h3>Telefone: ".$telefone." </h3></li>
                </ul>
                <br />
                <p>
                Essa é a mensagem que ele mandou: <br/><br/><blockquote style='border-left: solid 5px #f7ca18; padding-left: 10px;'><i> &nbsp; " .$mensagem.
                "</i></blockquote></p>" ;

// send email
mail("tiago_tmax@hotmail.com","Contato do Site", $msgfinal, $headers);
?>

0 个答案:

没有答案