2012-03-06 52 views
0

我是新來jQuery和ajax,所以我試圖讓這個簡單的例子工作;但至今使用。員額,PHP和數據庫調用沒有運氣...爲什麼這個jQuery .post不顯示任何結果?

這裏是我的jQuery代碼:

function fetchgenotype() { 

    var mndx = document.EditGenotype.marker.options[document.EditGenotype.marker.selectedIndex].value; 
    var sndx = document.EditGenotype.labid.options[document.EditGenotype.labid.selectedIndex].value; 

    $.post("fetchAlleles.php", {mndx: mndx, sndx: sndx}, 
    function(result) { 
     $('#results').append(result); 
     postToPage('#results'); 
    }); 
    } 


    function postToPage(arr) {   
    var allele1 = arr[0]; 
    var allele2 = arr[1]; 
    $('#allele1').text(allele1); 
    $('#allele2').text(allele2); 
    } 

,這裏是什麼fetchAlleles.php的重要組成部分看起來像:

$mndx = $_POST['mndx']; 
$sndx = $_POST['sndx']; 

// query the database. 
$dbconnect = pg_pconnect("host=".$hostname." user=".$dbuser." dbname=".$dbname); 
if (!$dbconnect) { 
     showerror(0,"Failed to connect to database",'fetchAlleles',16,"username=".$dbuser.", dbname=".$dbname); 
     exit; 
    } 
    $sql = "SELECT allele1, allele2 FROM genotypes WHERE markers_id=".$mndx." AND gsamples_id=".$sndx; 

    $fetchresult = pg_exec($dbconnect, $sql); 
    if ($fetchresult) { 
     $arr = pg_fetch_array($fetchresult, 0, PGSQL_NUM); 
    } else { 
     echo "(25) Failed to retrieve results.<BR>SQL: ".$sql."</br>"; 
    } 

    return function($arr); 

我現在說我的jQuery .post函數正在調用,但屏幕上沒有任何反應,並且在我的javascript錯誤控制檯中什麼也沒有顯示。 有什麼不對的建議?

TIA, --rixter

+0

如果您查看響應標題(例如在Chrome開發人員工具中查看網絡選項卡),您是否收到任何數據? – kinakuta 2012-03-06 22:52:07

回答

1

問題,我看到:

  • 你的PHP代碼輸出什麼時,有沒有錯誤。我想你想要echo json_encode($arr);而不是return function($arr);;

  • 在JS方面,您的postToPage函數正在傳遞一個字符串(不是Array!)。然後,在函數內部,您嘗試通過索引訪問此字符串(arr[0]arr[1])。這將爲每個索引返回一個字符 - 可能不是您想要的。

+0

謝謝!朝着正確的方向邁出了一步,但現在我發現我在fetchAlleles.php中遇到了500錯誤,內部服務器錯誤,但我在Firebug中沒有看到任何方式檢查它。有關如何從那裏迴應輸出的任何建議? – rixter 2012-03-07 00:08:55

+0

在Firebug控制檯中,您看到POST請求被觸發了,對吧?您可以擴展該行,然後您將選擇一個「響應」選項卡,其中包含來自PHP的響應。 – bfavaretto 2012-03-07 00:16:03

+0

感謝您的幫助;我正在使用Firebug取得進展並檢查響應......還在http://www.youtube.com/watch?v=FyXeOX-uYMc&feature=plcp&context=C3d76e0eUDOEgsToPDskLH2fHhorHPR9w4Pj-WN1ZG上發現了一系列精彩的教程 – rixter 2012-03-07 23:31:54

相關問題