2011-08-18 134 views
0

我有一些jquery/ajax返回一些JSON的兩個值。我不知道如何將這兩個值放入變量中用於輸出。或者,也許我可以使用它們而不將它們移動到變量?如何從json獲取值

jQuery的AJAX聲明:

$.ajax({ 
           url: "proposemarriage_backend.php", 
           type: 'POST', 
           datatype: 'json', 
           data: 'wedding=' + firstweddingturn, 

            success: function(result) { 
             alert(result); 
            } 
           }); // end ajax  

PHP後端:

$wedding1 = mysql_real_escape_string(filter_input(INPUT_POST,'wedding')); 
if ($wedding1 > '0') { 
list($season) = mysql_fetch_row(mysql_query("SELECT season FROM calendar WHERE calendar_ID=$wedding1",$db)); 
list($year) = mysql_fetch_row(mysql_query("SELECT year FROM calendar WHERE calendar_ID=$wedding1",$db)); 

$resultarray = array(); 

$resultarray[] = $season; 
$resultarray[] = $year; 

$resultjson = json_encode($resultarray); 
echo $resultjson; 

我結束了像 「春曉」 的結果, 「71」。我想要做的事,如:

$('#div1').append('<br>The returned season is ' + season + ' and the year is ' + year + '.</br>') 
+1

對於下一個問題:你用來生成JSON的代碼是完全無關的,如果你的問題是如何從JavaScript讀取。你需要展示的是JSON本身和「早春」,「71」不能是真正的JSON(首先,它甚至不是有效的JSON)。 –

回答

1

對於第一項:

$('#div1').append('<br>The returned season is ' + result[0] + ' and the year is ' + result[1] + '.</br>'); 

循環得到休息。不過,理想情況下,您應該更改PHP以將季節分爲result[0][]result[1][]。或更好的是,result['seasons']result['years']。編輯: 你有一個錯字。將datatype更改爲dataType。一旦完成,jQuery將自動將JSON字符串解析爲正確的對象結構。

+0

Hm,result [0]給了我[,result [1]給出了「,result [2]給出了E.似乎每個都有一個單獨的字符,我嘗試了PHP的結果[」season「],沒有運氣。 – jeremy

+0

@jeremy:是的,你還沒有定義*'result ['season']'所以你什麼也得不到,請張貼JSON字符串並讓我們看一看。 JSON字符串,你需要解析它才能將它變成一個對象 –

+0

看到我上面的編輯,容易出錯 –

0

試試這個

$('#div1').append('<br>The returned season is ' + result[0] + ' and the year is ' + result[1] + '.</br>')