2011-08-18 130 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>')