2012-04-13 10 views
0

私はrefferingていますラインは、私はloadmorecommentsuserpage.phpにGET経由の$ profilepageuseridを送りたいこのjavascriptコードに変数を含めるための正しい構文は何ですか?

url:"../php/loadmorecommentsuserpage.php?profilepageuserid=$profilepageuserid&lastComment="+$(".postedComment:last").attr("id"), 

でするが、それは動作しません。

特に、$ profilepageuseridが表す値は送信されていません。構文は間違っていますか?

の$ profilepageuseridは、PHPで可変であり、私はJS

<script> 
    $(document).ready(function(){ 
     $('div#text').click(function(){ 
      $("div#text").hide(); 
      $('div#loadMoreComments').show(); 
      $.ajax({ 
       url:"../php/loadmorecommentsuserpage.php?profilepageuserid=$profilepageuserid&lastComment="+$(".postedComment:last").attr("id"), 
       success:function(html){ 
        if(html){ 
         $("#postedComments").append(html); 
         $('div#loadMoreComments').hide(); 
         $('div#text').show(); 
        }else{ 
         $('div#box').replaceWith("<div class='box'><center>Finished Loading the Comments</center></div>"); 
        } 
       } 
      }); 
     }); 
    }); 
</script> 
経由
+0

「それは動作していません」とは何ですか?あなたは、何を修正する必要があるかについて具体的でない場合、あなたを助けることはできません。 –

+2

<を試しましたか? echo $ profilepageuserid?>? – GillesC

+1

はJSまたはPHPの '$ profilepageuserid'変数ですか? – Joseph

答えて

3
$(function() { 

    //your variable 
    //if it's from PHP, you need to echo it to a JS variable 
    var profilepageuserid = '<?= $profilepageuserid ?>' 

    $('div#text').on('click',function() { 

     //store required data into variables 
     //keeps your code readable 
     var commentid = $(".postedComment:last").attr("id"); 

     $(this).hide(); 
     $('div#loadMoreComments').show(); 

     $.ajax({ 
      url:"../php/loadmorecommentsuserpage.php", 

      //instead of a very long querystring, just do "data" 
      data : { 
       'profilepageuserid' : profilepageuserid, 
       'lastComment' : commentid 
      }, 
      success: function(html) { 
       if (html) { 
        $("#postedComments").append(html); 
        $('div#loadMoreComments').hide(); 
        $('div#text').show(); 
       } else { 
        $('div#box').replaceWith("<div class='box'><center>Finished Loading the Comments</center></div>"); 
       } 
      } 
     }); 
    }); 

});​ 
+1

あなたはその値をエコーすることによって何らかの形でページに存在させるべきです。 ''は 'echo'の短縮形です。 – Joseph

1

さてさて、それを送りたいです。これは、PHPがJavascriptとやり取りする方法です。簡単に言えば、それはほとんどありません。 PHPはサーバによって実行され、テキストが生成されます。このテキストはブラウザに送られ、Javascript、グラブ画像などが実行されます。ありがたいことに、Javascriptはそのテキストの一部なので、サーバーの状態を含め、そこに必要なデータを詰めることができます。

クライアント側でJavaScript変数(var foo)を初期化するには(たとえば、現在の値$bar)、そのデータをJavascript変数宣言に詰め込む必要があります。あなたは次のように参照するには、クライアントは何をしたい:

echo "var foo = $bar;"; 
var foo = 3; // or whatever else, depending on $bar 

だからそれを行うためには、あなたがechoする必要があります

JavaScriptの構文に囲まれて、正しい時刻 $fooの値は、

クライアントにデータを送信するだけで、後で実行する(または実行しない)ことに注意してください。 決しては、ブラウザからまだ実行中のスクリプトにデータを戻すことができます。ブラウザがデータを取得するまでに、スクリプトの実行が終了し、サーバーはデータベースの列挙などの他の有用なものに移行しました。