我有一个脚本来获取数据并将其加载到div中,代码工作正常并显示用户ID列表如果我不使用任何表单值并且如果我不使用type =“POST”,但当我使用$ _POST值时,它不起作用(没有结果,也没有控制台错误信息):
HTML:
<form name='newUser' id="searchForm" method="POST">
<input type="text" name="look_for" id="look_for">
<input type="text" name="lookage_from" id="age_from">
<input type="text" name="age_to" id="age_to">
</form>
fetchusers.php
$look_for = $_POST['look_for'];
$age_from = $_POST['age_from'];
$age_to = $_POST['age_to'];
$array = getProfilePicsList($look_for,$age_from,$age_to); //a function that select * from ...
echo json_encode($array);
jquery代码:
$("#searchForm").submit(function(event)
{
$.ajax({
type: 'POST',
url: 'models/fetchUsers.php', //the script to call to get data
dataType: 'json', //data format
success: function(data) //on recieve of reply
{
$.each($(data), function(key, value) {
$('#itemContainer').append(value.user_id);
});
}
});
return false;
});
答案 0 :(得分:0)
在您的ajax请求中,您错过了data
。只需添加:
data: $("#searchForm").serialize(),
示例:强>
$.ajax({
type: 'POST',
url: 'models/fetchUsers.php', //the script to call to get data
dataType: 'json', //data format
data: $("#searchForm").serialize(),
success: function(data) //on recieve of reply
{
$.each($(data), function(key, value) {
$('#itemContainer').append(value.user_id);
});
}
});
不使用data
参数,您无法获取$_POST
数组中的值。
一些参考文献: https://api.jquery.com/jquery.post/ http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp