2015-09-04 3 views
-2

У меня есть базовая концепция кнопки на моем сайте, которая посещает url.tld? Action = love и добавляет +1 к столбцу базы данных ссылки.Ajax посетить ссылку без фактического посещения ссылки

Это все время переадресовывает на другую страницу. Можно ли нажать кнопку и отправить запрос на URL-адрес без фактического перенаправления на новый URL-адрес? Также, возможно, обновите кнопку после этого только, чтобы обновить счет?

Для общего представления о том, что моя кнопка загрузки это в заголовке:

<?php require_once('phpcount.php'); ?> 
<p class="hidden"><?php 
    $time = time(); 
    for($i = 0; $i < 1; $i++) 
    { 
    PHPCount::AddHit("$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]", "127.0.0.1"); 
    } 
    echo (time() - $time); 
    /*echo "PAGE1 NON: " . PHPCount::GetHits("page1") . "\nPAGE1 UNIQUE: " . PHPCount::GetHits("page1", true); 
    echo "\n\n" . PHPCount::GetHits("page2"); 
    $ntot = PHPCount::GetTotalHits(); 
    $utot = PHPcount::GetTotalHits(true); 
    echo "###$ntot!!!!$utot";*/?></p> 

И это пример моей кнопки «любовь».

<a href="https://alt.epicmc.us/download.php?link='.strip_tags($package_get).'?action=love" target="_blank" class="red-button">Love <span class="count">'. PHPCount::GetHits("$package_get?action=love", true).'</span></a> 

Причина, по которой я использовал этот метод, заключается в том, что люди создают страницы, и я хотел, чтобы подобная кнопка работала из коробки. Когда их страница впервые посещается, она добавляет свой url в базу данных и начинает подсчет уникальных хитов.

Это в основном добавление нового столбца ссылки, называемого downloadlink? Action = love, и подсчет уникальных кликов.

+0

пользователи должны загрузить необходимые JS с сервера, или ваш сервер должен позволить вещи Корса. –

+1

Это именно то, для чего нужен аякс, я предлагаю вам прочитать об этом: https://learn.jquery.com/ajax/ – Black0ut

+0

Вы спрашиваете, как позвонить AJAX? –

ответ

0

использовать следующий код. assgin id="btn_my_love" к этой кнопке и добавьте этот код к вам странице

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 

<script> 
     //assign url to a variable 
     var my_url = <?php echo "https://alt.epicmc.us/download.php?link='.strip_tags($package_get).'?action=love"; ?>; 

     $(function(){ 

     $("#btn_my_love").click(function(){ 
      $.ajax({ 
      url:my_url, 
      type:'GET', 
      success:function(data){ 
       //comment the following result after testing 
       alert("Page visited"); 
      }, 
      error: function (request, status, error) { 
       alert(request.responseText); 
      } 
      }); 
      //prevent button default action that is redirecting 
      return false; 
     }); 

     }); 
</script> 
0

Да, это возможно. Я предполагаю, что вы знаете, что такое ajax и как его использовать, если не я не буду давать вам код, потому что некоторые простые чтения в ajax, как это предлагает @ Black0ut, покажут вам, как это сделать. Но основные шаги заключаются в следующем: запрос Ajax

  1. Послать PHP скрипт, который будет обновлять +1 голос в базу данных
  2. В PHP скрипт, добавить +1 к базе данных и вернуть некоторые данные в Аякса, может быть, новое число голосов
  3. разбирает возвращаемые данные в вашем JavaScript и обновить кнопку соответственно
+0

Мои кнопки «Любовь» уже работают. Они просто обновляют мою страницу, и это раздражает. –

+0

Вы используете ajax? – samrap

+0

Нет аякса на данный момент. Он просто посещает страницу через download.php (и отправляет +1) в базу данных по этому адресу –

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