2016-01-12 37 views
0

我一直在試圖弄清楚我現在做錯了一天,並嘗試各種各樣的東西,使這項工作。基本上我發送var通過POST命名爲一個php文件,然後運行一個查詢並返回數據。 print_r顯示已發送正確的數據(在這種情況下是單個數字),而不是查詢返回的名稱等,它只是不識別$_POST['id']並返回一個錯誤。

$(document).ready(function() { 
    $(".side-menu_description").click(function() { 
     var id = $(this).attr("id"); 
     if ($.trim(id) != "") { 
      /* 
      $.post("index_loads/series_load.php", { 'id': id }, function(data) { 
       alert(data); 
       $("#wrap").fadeOut("slow").load("index_loads/series_load.php").fadeIn("slow"); 
      }); 
      */ 

      $.ajax({ 
       url: 'index_loads/series_load.php/', 
       data: { "id": id }, 
       type: 'POST', 
       success: function(data) { 
        $("#wrap").fadeOut("slow").load("index_loads/series_load.php").fadeIn("slow"); 
        alert(data); 
       }, 
       error: function(){ 
        alert("Error: Could not return"); 
       } 
      }); 
     } 
    }); 
}); 
<?php 
    print_r($_POST); 
    //$_POST['id'] = file_get_contents('php://input'); 

    $q = "SELECT * FROM Series WHERE SeriesID = '$_POST[id]'"; 
    $r = mysqli_query($dbc, $q);  
    $data = mysqli_fetch_assoc($r); 
?> 

警報的前幾行:

Array 
(
    [id] => 5 
) 

<h1> </h1> 
<!--<h2> 

Airs At: <br /> 
<b>Notice</b>: Undefined offset: 1 in <b>C:\xampp\htdocs\myname\index_loads\series_load.php</b> on line <b>24</b><br /> 
: </h2>--> 

<h3>Rating:<br> Stars + (4.0)</h3> 

我已經試過各種東西,從使用$.ajax不斷變化的數據{ "id=" + id}file_get_contents但沒有人似乎工作。我可能錯過了一些東西,但搜索後,我仍然無法找到答案!

在此先感謝。

+1

你的PHP代碼沒有返回任何請求。 –

+1

這不是整個PHP代碼。看起來你的代碼確實返回了一個值(帶有id的數組),但它也返回了html標籤和PHP通知。 ** 1。**您應該返回一個json字符串** 2。**您不應該返回html字符串,它效率低下。讓JS處理純數據和操作DOM ** 3 **這個通知是關於試圖訪問一個帶有偏移鍵的數組 –

+0

真的,這是與js有關的代碼,這些都是我發佈的,其餘的的文件是HTML,我認爲是無關緊要的。改變'.load'到'.html'解決了我的問題,但我仍然想知道你會如何改變這使它更有效率。任何幫助表示讚賞! – Nikj

回答

0

變化

$("#wrap").fadeOut("slow").load("index_loads/series_load.php").fadeIn("slow"); 

$("#wrap").fadeOut("slow").html(data).fadeIn("slow");