2016-07-20 1 views
0

У меня есть функция JQuery, которая выглядит следующим образом:Передача переменной Jquery в PHP URL

$('.dislike_box a').click(function(event){ 
    event.preventDefault(); 
    var title = $(this).data('title'); 
    alert(title); 
    $.ajax({ 
    url: 'vote.php?vote=dislike&title=title', 
    success: function(result){ 
     $('.dislike_box p.vote_text').text('Dont Like it.'); 
    }}); 
}); 

Моим вопрос, когда я предупрежу переменное название правильно, но когда я передать его в PHP скрипт, чтобы поставить в базу данных php-скрипт использует метод $ _GET [], но помещает буквальную строку «title» в базу данных вместо значения переменной.

Ответ: Благодаря @Ivan

url: 'vote.php?vote=dislike&title='+title, 
+0

попробуйте использовать двойные кавычки в заголовке: «title». –

ответ

1

Переменная вы отправляете с помощью AJAX не является переменной, а строка «название». Вместо этого используйте + для добавления переменной в URL.

$('.dislike_box a').click(function(event){ 
    event.preventDefault(); 
    var title = $(this).data('title'); 
    alert(title); 
    $.ajax({ 
    url: 'vote.php?vote=dislike&title='+title, 
    success: function(result){ 
     $('.dislike_box p.vote_text').text('Dont Like it.'); 
    }}); 
}); 

Чтобы получить переменную JS в PHP файле:

<?php 

if(isset($_REQUEST['title'])) { 
    $title = $_REQUEST['title']; 
} 
+0

отлично, я буду принимать этот ответ, когда смогу спасибо! –

+0

Спасибо @Waggoner_Keith – Ivan

1

Вы посылаете символьной строки title в вызове AJAX. Вам нужно будет поместить ваше значение в свой URL.

Лучшим решением будет, если вы сделаете JQuery избежать значения, так что вам не нужно беспокоиться, если ваш заголовок содержит специальные символы, такие как ?, &, = и т.д.

$('.dislike_box a').click(function(event){ 
    event.preventDefault(); 
    var title = $(this).data('title'); 
    alert(title); 
    $.ajax({ 
     url: 'vote.php', 
     data: { 
      vote: 'dislike', 
      title: title 
     }, 
     success: function(result){ 
      $('.dislike_box p.vote_text').text('Dont Like it.'); 
     } 
    }); 
});