我正在尝试创建一个contactform,我有js和php但它们之间没有连接。从AJAX接收字符串作为数据时,我是否正确使用$ _POST ['Name']?有没有办法让我找出那个字符串是什么样的?
编辑:好的,我已经设法发现我经常得到NULL或空数组。我还发现它可能是来自jQuery和stringify的标题与PHP不匹配。但这对我来说太先进了。但我认为这里有一个更好的问题:如何从PHP中读取我发送的数据?
EDIT2:var_dump($ _ POST);给出“array(0){}”。如何获取所有已发送的原始数据?
我的javascript看起来像这样(在线发现它是为了学习)。
/*-------------
//lots of code to check validity of form
//-------------*/
});
if( ferror ) return false;
else var str = $(this).serialize();
$.ajax({
type: "POST",
url: "contactform.php",
data: str,
success: function(msg){
// alert(msg);
if(msg == 'OK') {
$("#sendmessage").addClass("show");
$("#errormessage").removeClass("show");
}
else {
$("#sendmessage").removeClass("show");
$("#errormessage").addClass("show");
$('#errormessage').html(msg);
}
}
});
return false;
});
});
我的PHP看起来像这样。
<?php
parse_str($_POST['str'], $var1);
var_dump ($var1);
$data = json_decode($_POST['data'], true);
var_dump($data);
?>
答案 0 :(得分:0)
需要使用ajax请求发送数据对象,以便您可以在php代码中访问它。通常看起来像 -
data: {name: name, email: email}
在您的代码中,您在数据对象中使用str
变量。因此,请确保str
表示数据对象。我想说这可能会导致你的问题。
答案 1 :(得分:0)
您的PHP代码需要更新。
试试这个:
input[type="text"] {
width: 15%;
}
您对jQuery和标题的看法已经结束了,所以我会让您完成阅读,而不是详细介绍。