我正在尝试从我的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> " .$mensagem.
"</i></blockquote></p>" ;
// send email
mail("tiago_tmax@hotmail.com","Contato do Site", $msgfinal, $headers);
?>