[英]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.