javascript - 对其他页面的 AJAX 请求不起作用

标签 javascript php jquery mysql ajax

目前我正在尝试使用 AJAX 将内容添加到我的页面。因为这是我第一次使用 AJAX,所以我不太确定我在做什么。我在这里写了一些代码:

JavaScript:

jQuery(function(){
   jQuery("#nearby_customers_link").click(function(){
      jQuery.ajax({
         url: template_url + "/ajax/test.php",
         data: "nearby=" + jQuery(this).data("city"),
         success: function(data) {
            jQuery(".test").html(data).slideDown();
         }
      });
   });
});

index.php:

echo"<a href=\"#\" data-nearby=\"".$city['city']."\" id=\"customers_link\">Blablablablablablabla</a>";

echo"<div class=\"test\"></div>";

测试.php:

$city = $wpdb->get_results("SELECT * FROM `cities` WHERE `key` = '".esc_sql($_GET['city'])."'", ARRAY_A);
$customers = $wpdb->get_results("SELECT * FROM `customers` WHERE `city` IN('".implode("','", array_map("esc_sql", unserialize($city[0]['nearby'])))."') ORDER BY `company_name` ASC", ARRAY_A);

if(!empty($customers))
{
   echo"<div id=\"nearby_customers\">";
   echo"<h3>Blablablablabla</h3>";

   foreach($customers as $customer)
   {
      echo city_customer($customer);
   }

   echo"</div>";
}

echo"</div>";

现在我收到一条错误消息:

警告:array_map():参数 #2 应该是第 7 行 C:\wamp\www\ajax\test.php 中的数组

如何修复此错误?

此外,我不太确定数据字段的含义或用途,并且我在互联网上的任何地方都找不到它。如果有人能解释一下那就太好了!

最佳答案

您的代码似乎有错误。在 test.php 中,您使用变量 $_GET['city'],但实际上该变量称为 $_GET['nearby']。尝试修复该问题并查看它是否有效。

关于javascript - 对其他页面的 AJAX 请求不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39596130/

相关文章:

javascript - 匀场后如何从我的模块引用 PreloadJS?

javascript - 如何创建一个将对象推送到数组中的函数,当再次推送时它将添加额外的对象

javascript - 水平放置的提交按钮和错误消息的正确对齐

php - 在 HTML 中显示数据库值

javascript - 内联 Javascript 导致 jQuery Cycle 插件停止

javascript - 我需要在我的模式中使用 bootstrap 3.0.2 弹出窗口

php - 保存可见的用户日志

php - 保存密码 90 天

javascript - 使用键码在可滚动的 div 中上下导航

javascript - 捕获 'Page Down'/'Page Up' 关键事件的问题