AJAX请求其他页面无法正常工作

时间:2016-09-20 13:58:18

标签: 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>";

test.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中的数组

如何解决此错误?

此外,我不确定数据字段的含义或功能,我无法在互联网上找到它。如果有人可以解释一下那会很棒!

1 个答案:

答案 0 :(得分:2)

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