2012-01-01 19 views
0

私はajax(jquery)を介して処理されるPHPにデータを送信しています。私は、PHPスクリプトから値を返すしたいと思いますが、私はどのようにわからない。ajax(Jquery)経由で投稿した後に値をJavaScriptに返す方法

結果を返すにはどうすればよいですか?

$(document).ready(function() { //This script sends var Score to php 
     Score=100; //Dummy variable 
      $.ajax({ 
      type: "POST", 
      url: "returnresults.php", 
      data: { 'Score':Score },  
      success: function(){ 
      $('#box2').html(Score); 
      } 
     }) 
    }); 

非常にシンプルなPHPコード

<?php 
$Score=$_POST['Score']; 
     if (isset($_POST['Score'])) { 
     $Score=80; 
} 
?> 
+0

あなたのお返事ありがとうございます!私はちょっと出て行かなくてはいけませんが、今晩戻ってくるとすぐに私はそれらの上に行くでしょう。ありがとう! – TryHarder

答えて

3

、おそらくあなたのPHPの終わりにこれを追加する最も簡単なのよう:あなたがしたい場合は

echo $Score; 

プリフォーマットにその後、あなたのPHP内のビット:

echo "<div>" . $Score . "</div>"; 

あなたが適切なHTMLマークアップが同じくらい簡単か複雑にすることができます(この場合は<div>は明らかに、単なる一例です)。

その後、あなたのjQueryのAJAX呼び出しは自動的ので、あなたの成功ハンドラへのパラメータとしてを通じて応答を渡します:

$.ajax({ 
    type: "POST", 
    url: "returnresults.php", 
    data: { 'Score':Score },  
    success: function(data){ // <-- note the parameter here, not in your code 
     $('#box2').html(data); 
    } 
}); 

dataが応答になります)。

注:ajax呼び出しからの応答で行う必要があるのは、data/text/htmlを取り出して特定の要素に入れることだけで、代わりにjquery .load() methodを使用することで簡単にできます。 $.ajax()

$('#box2').load("returnresults.php", { 'Score':Score }); 
+0

あなたの答えをありがとう。私は必要なPHPコードと、表現されたデータが私のために何をしたのかを初心者です。ありがとうございました。 – TryHarder

2

チェックdocumentationsuccessハンドラ関数に対して特に:要求が成功した場合

成功(データ、textStatus、jqXHR)

関数を呼び出されます。関数は3つ渡されます。 引数:サーバから返されたデータ。 のdataTypeパラメータに従ってフォーマットされます。ステータスを表す文字列。 jqXHR (jQuery 1.4.x、XMLHttpRequest)オブジェクトです。

したがって、jQueryはsuccess関数に3つのパラメータを渡します。最初のデータには、必要なデータが含まれています。

$(document).ready(function() { //This script sends var Score to php 
     $.ajax({ 
     type: "POST", 
     url: "returnresults.php", 
     data: { 'Score':Score }, 
     dataType: "text", //set the dataType to 'text' so that jQuery passes it verbatim 
     success: function(newScore){ //the first parameter will contain the response the server sent, we ignore the other two parameters in this example 
      $('#box2').html(newScore); 
     } 
    }) 
}); 

をそしてあなたのPHPコードでは、ただまっすぐに応答に対して所望の値を書き込む:あなただけのサーバーがsuccessハンドラに上を返します正確に何を渡したい場合は、行うことができます。

あなたのPHPページが出力するHTMLやテキストを返して欲しいはずです
+0

私はそのことを簡単に見てきましたが、それが重要であるとは理解していませんでした。今あなたが指摘していることは完璧な意味合いです。ありがとうございました! – TryHarder

2
$(document).ready(function() { //This script sends var Score to php 
    Score=100; //Dummy variable 
     $.ajax({ 
     type: "POST", 
     url: "returnresults.php", 
     data: { 'Score':Score },  
     success: function(response){ 
      alert(response); 
      $('#box2').html(Score); 
     } 
    }) 
}); 
+0

ご返信ありがとうございます。 – TryHarder

関連する問題