[英]how do I make $.ajax POST call to work with SSL?
這是我的 JavaScript:
parameter = "name=" + name + "&email=" +
email + "&phone=" + phone + "&comments=" + comments;
$.ajax({
url: 'sendEmail.php?' + parameter,
success: function(data) {
if (data.indexOf("Message sent") > 0) {
alert("Your email has been sent.");
$('#user-name' + id).val("");
$('#user-phone' + id).val("");
$('#user-email' + id).val("");
$('#user-message' + id).val("");
} else {
alert("Your email could not be sent!")
console.log(data);
}
},
error: function(data) {
alert("Email could not be sent!")
console.log(data);
}
});
這是我的sendMail.php
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
var_dump($_POST); echo "\n";
為什么這個var_dump()
返回null
? 這只是因為我將 SSL 添加到域中。
您沒有發布到您的腳本,您正在使用 URL 查詢。 您需要使用$_GET
而不是$_POST
。
您正在發送一個 GET 請求,但您想從 POST 獲取數據。 用 post 發送數據
$.post('sendEmail.php', {'name':name,'email':email,'phone':phone,'comments':comments}, function(data){
if (data.indexOf("Message sent") > 0) {
alert("Your email has been sent.");
$('#user-name' + id).val("");
$('#user-phone' + id).val("");
$('#user-email' + id).val("");
$('#user-message' + id).val("");
} else {
alert("Your email could not be sent!")
console.log(data);
}
})
var parameter = {
name: name,
email:email,
phone: phone,
comments: comments
};
$.ajax({
url: "sendEmail.php",
data:parameter,
method:"POST",
async:true,
success: function(data) {
if (data.indexOf("Message sent") > 0) {
alert("Your email has been sent.");
$('#user-name' + id).val("");
$('#user-phone' + id).val("");
$('#user-email' + id).val("");
$('#user-message' + id).val("");
} else {
alert("Your email could not be sent!")
console.log(data);
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus + " - " + errorThrown);
alert(jqXHR.status);
console.log(data);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.