首页 > 解决方案 > Ajax 帖子未成功打开 PHP 文件

问题描述

阿贾克斯:

$(".searchbar").keyup(function() {
   let search = $(".searchbar").val();
   if (search.charAt(search.length-1) == " ") {
      $.post("search.php", {
         search: search
      });
   }
});

所有这些代码“有效”,因为我用console.log()

问题是 search.php 没有被打开。我知道它没有被打开,因为我使用 NetBeans 在该文件中设置了一个断点并且它从未命中。

Search.php(未完成):

<?php
  require_once 'core/init.php';

  if (Input::exists()) { 
    $_db = Database::getInstance();
    $links[];
    $databaseResults[];
    $searchTerms[] = explode(' ', Input::get('search'));
    foreach ($searchTerms as $searchTerm) {
      $databaseResults = $_db->search('links', array("name", "hash", "file_extension", "created"), $searchTerm, "%%");
    }
  }
 ?>

对我有用的 Ajax:

$(".votebutton").click(function() {
   let vote = $(this).val();
   let token = $(this).parent().find(".token").val();
   let link_hash = $(this).parent().find(".link_hash").val();
   $.post("vote.php", {
      vote: vote,
      token: token,
      link_hash: link_hash
   });
});

标签: javascriptphpajax

解决方案


事实证明 PHP 文件是问题所在。

看来你不能这样做:

$links[];
$databaseResults[];

创建一个数组。

由于 PHP 文件有一个错误,它甚至没有达到让我感到困惑的第一行。


推荐阅读