1

I have a jquery function that looks like this:

$('.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.');
    }});
});

My issue is when I alert the title variable it is correct but when I pass it to the php script to be put into the database the php script uses the $_GET[] method but puts the literal string "title" into the database instead of the variable value.

Answer: Thanks to @Ivan

 url: 'vote.php?vote=dislike&title='+title, 
1
  • try using double quotes on title : " title ". Commented Jul 20, 2016 at 16:43

2 Answers 2

1

The variable you are sending via AJAX isn't a variable but the string 'title'. Instead use + to add the variable in the 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.');
    }});
});

To retrieve the js variable in PHP file :

<?php

if(isset($_REQUEST['title'])) {
    $title = $_REQUEST['title'];
}
Sign up to request clarification or add additional context in comments.

2 Comments

perfect, I will accept this answer when I can thanks!
Thanks @Waggoner_Keith
1

You are sending the literal string title in your AJAX call. You would need to actually put your title value into your URL.

A better solution would be, if you make jQuery escape the values, so you don't need to worry, if your title contains special characters like ?, &, =, etc.

$('.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.');
        }
    });
});

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.