目前我正在尝试使用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中的数组
如何解决此错误?
此外,我不确定数据字段的含义或功能,我无法在互联网上找到它。如果有人可以解释一下那会很棒!
答案 0 :(得分:2)
您的代码中似乎有错误。在test.php中,您使用的是变量$_GET['city']
,但实际上该变量名为$_GET['nearby']
。尝试修复它并查看它是否有效。