2016-09-20 4 views
0

В настоящее время я пытаюсь добавить контент на свою страницу с помощью 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(): Argu № 2 должен быть массив в C: \ wamp \ www \ ajax \ test.php в строке 7

Как исправить эту ошибку?

Также я не совсем уверен, что такое поле данных или что делает, и я не могу найти его нигде в Интернете. Если бы кто-нибудь мог немного объяснить, что было бы здорово!

ответ

2

Похоже, что в вашем коде есть ошибка. в test.php вы используете переменную $_GET['city'], но на самом деле переменная называется $_GET['nearby']. Попробуйте исправить это и посмотреть, работает ли он.

+0

Изменен и теперь он отлично работает. Спасибо, добрый сэр. –

+0

Добро пожаловать! –

Смежные вопросы