2011-11-11 167 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等。