JSON onFailure sorunu

1 Cevap php

Ben sorun AJAX / JSON işlevi düzgün çalışması için alıyorum yaşıyorum. Ben kutu açılan gelen değer kapma bu işlevi vardı ama şimdi ben o değerini ayarlamak için bir çapa etiketi kullanmak istiyorum.

Ben sadece ben kutusu açılır için kullanıyordum işleve dize geçmek için onClick olayını kullanmak için kolay olacağını düşündüm ama veri MySQL eklendi alır olsa da JSON onFailure durumunda uyarı olsun. I onFailure olaydan uyarı kaldırarak çalıştım ama o veriyi katmıyor. Damla aşağı hala iş iş para cezası, hiçbir uyarı devam ediyor. (Ben uyarıyı çıkarmadan da kutusunda aşağı benim damla kırdı dikkat etmelisiniz)

1. Ben bir onClick olay eklemek ...

<a href="<?php echo Settings::get('app.webroot'); ?>?view=schedule&action=questions" onmouseout="MM_swapImgRestore();" onmouseover="MM_swapImage('bre','','template/images/schedule/bre_f2.gif',1)" onclick="assignCallType('testing')";>

2 Ben main.js.php kontrol

    function assignCallType(type) {
    alert(type);
    new Request.JSON({
        url: "ajax.php", 
        onSuccess: 
            function(rtndata,txt){
                if (rtndata['STATUS'] != 'OK') 
                    alert('Status was not okay');
            },
        onFailure : 
            function () { 
            alert("onFailure") 
            }
    }).get({
        'action': 'assignCallType', 
        'call_type': type
    });    
}

3. AJAX.php: değişken PHP geri ve değerleri MySQL ekledi olsun ama ben JSON onFailure olay Alert olsun

if ($_GET['action'] == "assignCallType") {
    if ($USER->isInsideSales()) {
        $call_type = $_GET['call_type'];
        $_SESSION['callinfo']->setCallType($call_type);
        $_SESSION['callinfo']->save($callid);
        echo json_encode(array('STATUS'=>'OK'));
    } else {
        echo json_encode(array('STATUS'=>'DENIED'));
    }
}

Ben yanlış gidiyorum herhangi bir fikir. Bu ve çalışma açılır arasındaki tek fark, ben onchange="assignCallType(this.value)" kullanılan işlevi çağrıldı nasıl.

1 Cevap

Için arama onFailure herhangi argümanlar sunmak mı? JQuery Örneğin size hata hakkında bilgi verebilir 3 argümanlar vardır. Ben error geri bağlantı hatası yok orada olsa bile denilen alma tuttu benzer bir sorun koştu. Sorun kötü biçimli JSON olduğu ortaya çıktı. Eğer JSON, iyi biçimlendirilmiş olduğunu teyit edebilir?

UPDATE

Ben sadece Request and noticed that onFailure kendi imzaya xhr olabilir için belgeleri teslim. status, statusText bir göz alarak deneyin, ve responseText XMLHttpRequest nesne bağlıyor. Bu size yanlış gidiyor ne gibi bir ipucu verecektir.

Bu deneyin:

onFailure: function(xhr) {
   console.log(xhr.status, xhr.statusText, xhr.responseText);
}