2012-03-08 78 views
0

我有一個簡單的jQuery .post調用,需要處理返回的數據,儘管有很多其他類似的帖子,但我似乎無法得到正確的語法。如何訪問從jQuery .post返回的JSON數據?

這裏是我的jQuery的電話:

$.post("fetchAlleles.php", {mndx: mndx, sndx: sndx}, 
function(result) { 
    $('#allele1').text(result[0]); 
    $('#allele2').text(result[1]); 
}, "json"); 

這裏是PHP代碼被稱爲:

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

    $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 geno.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>"; 
    } 

    echo json_encode($arr); 

現在,我知道PHP工作正常,因爲我可以在Firebug看它返回所需的數據。我只是不明白如何使用成功功能來訪問它。我想將返回數據分配給兩個元素id等位基因1和等位基因2的值。

我知道我很接近,但一直沒能找到相當正確的例子,或破譯jQuery文檔。任何幫助都感激不盡!

--rixter

編輯1:這裏的答案:

$( 「#allele1」)得到(0).value的結果= [0]; $(「#allele2」)。get(0).value = result [1];

從Simanchal Pattanaik(在另一個問題找到)

回答我的問題...謝謝Simanchal!

+0

#allele1元素不支持文本函數嗎?對不起,但我的JavaScript有點生疏。但是你可能想要在構建select查詢時檢查這些字符串連接。是不是很容易SQL注入? – Pedro 2012-03-08 20:55:41

回答

0

JavaScript中的Json對象將匹配PHP返回的任何Json。

如果您想查看結構,請觀看提琴手流量,然後單擊JSON檢查器選項卡。

相關問題