2016-07-20 8 views
0

私はこのようになりますjqueryの機能を持っている:渡すjQueryの変数は、

$('.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スクリプトに渡したときに置くことがtitle変数を警告する際に私の問題がありますPHPスクリプトは$ _GET []メソッドを使用しますが、リテラル文字列 "title"を変数の値ではなくデータベースに格納します。

回答:おかげで

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

を使用してみてくださいタイトルの二重引用符: "title"。 –

答えて

1

を@Ivanするためにあなたは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.'); 
    }}); 
}); 

PHPファイル内の変数のjsを取得するには:

<?php 

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

完璧な、私は感謝することができますこの答えを受け入れます! –

+0

ありがとう@Waggoner_Keith – Ivan

1

あなたのAJAX呼び出しで文字列リテラルtitleを送っています。実際にあなたのタイトルの価値をあなたの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.'); 
     } 
    }); 
});