繁体   English   中英

为什么isset post不适用于使用PHP的ajax搜索?

[英]Why isset post doesn't work with ajax search using PHP?

我在使用PHP和AJAX进行搜索时遇到问题。 目前,当我键入某些内容时,我只会在控制台中看到数字,并且echo无法正常工作。

如果我删除if (isset($_POST['invite'])) {并键入任何内容,则echo显示用户,但搜索不起作用。

我在哪里弄错了?

$(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);
        }
      });
    }
  });
});

form-search-user.php

<?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';

  }

}

的HTML

<input type='text' name='invite' value='' id='invite_cc' placeholder='Search' class='form-control'>
<div id='invite_result_cc'></div>

您没有在帖子数组中发送任何名为“邀请”的内容:

data:{query:query}

您可以通过添加适当的键:值对来解决此问题:

data:{query:query, invite:'invite'}

现在$_POST['invite']将设置为'invite'。 您可以使用任何想要的变量值。 例如:

if (isset($_POST['invite']) && 'invite' == $_POST['invite'])...

编辑,我现在可以看到您打算将$_POST['invite']包含在搜索值中,因此对AJAX进行以下更改:

data:{invite :query}

这将设置变量$_POST['invite'] ,并使该数组变量的值成为query的值

更改

if (isset($_POST['invite'])) {

if (isset($_POST['query'])) {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM