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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.