我在使用PHP和AJAX进行搜索时遇到问题。目前,当我键入某些内容时,我只能在控制台中看到数字,而ActionResult
不起作用。
如果我删除echo
并输入任何内容,那么if (isset($_POST['invite'])) {
会显示用户,但搜索无效。
我在哪里弄错了?
echo
form-search-user.php
$(document).ready(function() {
$('#invite_cc').keyup(function() {
var query = $(this).val();
if (query != '') {
$.ajax({
url: 'form-search-user.php',
type: 'POST',
data:{query:query},
success: function(response) {
$('#invite_result_cc').html(response);
console.log(response);
}
});
}
});
});
HTML
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/mysql/config.php');
if (isset($_POST['invite'])) {
$invite_rows_cc = $db->QueryGetNumRows("SELECT * FROM user_about WHERE firstname LIKE '%".$_POST['invite']."%' OR lastname LIKE '%".$_POST['invite']."%' LIMIT 5");
$invite_value_cc = $db->QueryFetchArrayAll("SELECT * FROM user_about WHERE firstname LIKE '%".$_POST['invite']."%' OR lastname LIKE '%".$_POST['invite']."%' LIMIT 5");
if ($invite_rows_cc > 0) {
foreach ($invite_value_cc as $key) {
echo "
<div class='invite_search_cont'>
<div class='invite_search_img'><img src='{$key['profile_image']}'></img></div>
<div class='invite_search_name'>{$key['firstname']} {$key['lastname']}</div>
</div>
";
}
} else {
echo 'No results';
}
}
答案 0 :(得分:2)
您不会在帖子数组中发送任何名为“邀请”的内容:
data:{query:query}
您可以通过添加适当的键:值对来解决此问题:
data:{query:query, invite:'invite'}
现在$_POST['invite']
将设置为“邀请”。您可以使用任何想要的变量值。例如:
if (isset($_POST['invite']) && 'invite' == $_POST['invite'])...
编辑,现在我可以看到您打算$_POST['invite']
包含搜索值,因此请对AJAX进行以下更改:
data:{invite :query}
这将设置变量$_POST['invite']
的名称,并使该数组变量的值成为query
的值
答案 1 :(得分:0)
更改
if (isset($_POST['invite'])) {
到
if (isset($_POST['query'])) {