2017-03-09 58 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基本上只是加載你給它在後臺的網址,讓您無論後面是該網頁上顯示

您的PHP頁面不顯示任何內容,所以AJAX調用看不到任何輸出。

你需要echo你的迴應,而不是return它。

echo $display; 
+1

謝謝,簡單的修復。不知道如何工作。 – heyitsmyusername

+1

就像在瀏覽器中加載URL並閱讀屏幕上的內容一樣,這就是AJAX的功能。這就是爲什麼你需要'回顯'你想要的AJAX調用看到。 :) –