У меня есть программа PHP для подсчета кликов пользовательского баннера. Мой баннер ссылка что-то вроде этого:Позвоните в PHP-программу с Ajax
<a href="<?=$banner_url;?>" onclick="banner_click_count('<?=$banner_id;?>')"><img src=...>
Когда пользователь нажимает на изображение, он запускает функцию banner_click_count()
с $banner_id
в качестве параметра.
function banner_click_count($ban_id)
{
$.ajax({
type: "POST",
url: 'banner_click.php',
data: {banner_id: $ban_id}
});
}
В banner_click.php, я получаю banner_id с $banner_id = $_GET['banner_id']);
, поиск в базе данных, основанной на нем. Найдите запись, затем добавьте 1 к banner_count поле столбца. После этого перенаправление на banner_url.
Когда я запускаю программу, я получаю Parse error: parse error, expecting T_VARIABLE' or '$''
на линии $.ajax({
Добавление: ошибка очищается при всей вашей помощи, но когда я нажимаю на ссылку он перенаправляет на banner_url непосредственно и не запустить Функция AJAX.
Добавление: Я поставил предупреждение ("привет"); в верхней части ajax-функции, и я получил ее. Поэтому он переходит в функцию
функция banner_click_count является функция JavaScript, она должна быть в ''
1.You нужен поставить яваскрипт функции под
<script>
тегом2.you необходимо пройти
json string as post data
3.though вы передаете данные, как пост, так что вы получите эти данные в PHP
as $_POST not $_GET
Таким образом изменить свою функцию, как показано ниже
источник
2012-10-14 08:12:21 GBD
о '2': Javascript позволяет использовать' $ variables'; '3': может быть хэш – ted
@ted спасибо, что я не знал об этом. Снова спасибо – GBD
Хорошо, ошибка очищена, но когда я нажимаю на ссылку, она перенаправляется на ** banner_url ** напрямую и не запускается ajax. –
Убедитесь banner_id является в кавычках и что вы включаете JQuery на свою страницу. И не забудьте вернуться к успеху/ошибке.
источник
2012-10-14 08:19:00
Вопрос: знаете ли вы, как добраться до консоли? –
ли нам не нужно
return false
перед выходом из функции?источник
2012-10-14 08:53:33 Zephyr
Он по-прежнему работает без возврата, как бы ужасно это ни было. –
Я добавил 'return false;' в конце. но все равно никакого результата. –
Если вы используете Chrome и можете проверить, есть ли какие-либо ошибки в php, которые вы вызывали через ajax, вы можете зайти в настройку «Сети» на консоли. Много раз это помогает. – Zephyr