2011-11-11 108 views
2

我的PHP端发送给效应初探像阿贾克斯那PHP应对阿贾克斯

$data = array(
      'status' => $status, 
      'message' => $message 
    ); 
    echo json_encode($data); 

我的AJAX看起来像

$.ajax({ 
       url: formUrl, 
       type: formMethod, 
       dataType: "json", 
       data: formData, 
       success: function (data) { 
        //setup variables 
        var responseData = jQuery.parseJSON(data), cl, text; 

        //response conditional 
        switch (responseData.status) { 
        case 'error': 
        cl = 'error'; 
        text = responseData.message; 
        break; 
        case 'success': 
        cl = 'success'; 
        text = 'Qeydiyyat uğurla başa çatdı'; 
        break; 
        } 

        $.notifyBar({ 
        cls: cl, 
        html: text 
        }); 

       } 
      }); 

获得responseData是空的错误消息。但(从萤火虫XHR)我看到,PHP实际上是回声结果。可能是什么原因?

+0

声明变量cl,text,responseData = jQuery.parseJSON(data)。我不知道jQuery.parseJSON是什么。 – heron

+1

你不需要parseJSON,因为它已经准备好被解析了,如果你做alert(data.status)'它会工作(先删除parseJSON)。 – MacMac

回答

2

我相信jQuery足够聪明,可以为您解析响应JSON,以便传递给您的回调的data参数已经被解析。所以你可以直接访问data.status等。