2017-03-09 5 views
-1

php関数から文字列または配列として返されたhtmlコードを持っています。 var_dumpを使用すると、AJAXの成功関数を使用して表示する変数の内容しか取得できません。 PHPとAJAXの間で変数の内容がうまくやりとりされている間違ったやり方がありますか?var_dumpが使用されている場合、AJAXはPHP変数のみを表示します

PHP関数: 変数$displayには、単にテーブル用のHTMLコードが含まれています。

//Display records fetched from database. 
    $display = '<ul class="contents">'; 
    while($results->fetch()){ //fetch values 
     $display .= '<li>'; 
     $display .= $id. '. <strong>' .$name.'</strong> &mdash; '.$message; 
     $display .= '</li>'; 
    } 
    $display .= '</ul>'; 

    $display .= '<div align="center">'; 
    $display .= paginate_function($item_per_page, $page_number, $get_total_rows[0], $total_pages); 
    $display .= '</div>'; 
    return(var_dump($display)); 

はJavaScript:

$.ajax({ 
      url:"test.php", //the page containing php script 
      data: { 
       searchbythis: searchby, 
       param0: name, 
       param1: param1, 
       param2: param2 
      }, 
      type: "POST", //request type 
      success:function(result){ 

       $('#searchHint').html(result); 

      } 
     }); 
+3

問題はPHPコードであり、JSコードではありません。 PHPコードを表示してください。 –

+3

'return'は値を呼び出しに返します。電話で何をしていますか? 'var_dump'が出力します。呼び出し時、またはその後、 'echo'または' print_r'を実行しますか? – chris85

答えて

5

AJAXは、基本的にはちょうどあなたがバックグラウンドでそれを与えるURLをロードし、は、そのページにを表示しているものは何でも戻ってあなたを与えます。

PHPページに何も表示されないため、AJAX呼び出しで出力が表示されません。

echoあなたの応答はreturnではありません。

echo $display; 
+1

ありがとう、簡単な修正。それがどう働いているか正確には分かりませんでした。 – heyitsmyusername

+1

ブラウザにURLを読み込んで画面上にあるものを読み込むのと同じように、AJAXはそれを行います。そのため、AJAXの呼び出しに必要なものを「エコー」する必要があります。 :) –

関連する問題