2016-04-01 23 views
1

Daha önce Ajax çağrılarını yaptım ve işe yarayan JSON nesnelerini döndürmelerine izin verdim, ancak artık işe yaramıyor gibiyim.PHP JSON nesnesini Javascript'e geri dön [AJAX CALL] çalışmıyor

Bu benim ajax çağrısıdır:

function sendContactForm() { 
var nameInput = $('#nameInput').val(); 
var emailInput = $('#emailInput').val(); 
var subjectInput = $('#subjectInput').val(); 
var msgInput = $('#msgInput').val(); 

$.ajax({ 
    // Make a POST request to getfile  
    url: "/service/contactmail", 
    data: { 
     nameInput: nameInput, 
     emailInput: emailInput, 
     subjectInput: subjectInput, 
     msgInput: msgInput 
    }, 
    method: "post", 
    // And run this on success  
    success: function (data) { 
     if (data.send === 1){ 
      // VERZONDEN 
     }else if(data.send === 2){ 
      // VARS NIET INGEVULT 
     }else{ 
      // IETS ANDERS FOUT 
     } 
     console.log(data); 
    }, 
    error: function() { 
     alert("fout"); 
    } 
}); 
} 

ve bu benim php fonksiyonudur: "" (boş dize) Orada :

private function sendContactForm() { 
    $output = array(
     "test" => null, 
     "send" => null 
    ); 
    if ($this->fillVariables()) { 
     $this->sendMail(); 
     $output['send'] = 1; 
     return true; 
    } else { 
     $output['send'] = 2; 
     return false; 
    } 
    header("Content-Type: application/json"); 
    echo json_encode($output); 
} 

ama değişken "veri" bir değere sahiptir php sınıfımda başka eko yok, bu yüzden sorun olmamalı. geri sayfaya sonucunu üretebilir önce if tablolara önceden

sayesinde

+2

If 'içinden' dönüşü 'çıkarın ve daha sonra sonuçların başlığına ve yankısına ulaşacaktır. Şu anda hiçbir şey 'return' – RiggsFolly

+0

Evet RiggsFolly sonra yürütecek. @Mats de Waard, özel php sendContactForm() işlevini nasıl çağırırsınız? – Xenofexs

+0

@Xenofexs Bu sınıfta başka bir yöntemle yapıldığını varsayalım, bir AJAX çağrısından doğrudan bir sınıf yöntemini çağırmanın bir yolunu bilmediğimden, "public" – RiggsFolly

cevap

1

return 'ın
Mats de Waard bu fonksiyonun yürütülmesini duruyorlar.

private function sendContactForm() { 

    $output = array(
     "test" => null, 
     "send" => null 
    ); 
    if ($this->fillVariables()) { 
     $this->sendMail(); 
     $output['send'] = 1; 
     //return true; 
    } else { 
     $output['send'] = 2; 
     //return false; 
    } 
    header("Content-Type: application/json"); 
    echo json_encode($output); 
} 
+0

Aman tanrım. Aptal hissediyorum. Nooby hatası için özür dilerim ve bir ara vermem gerektiğini düşünüyorum: P Yardımın için teşekkürler! –

+0

Hepimiz orada bulunduk dostum. Seni endişelendirmesine izin verme. – RiggsFolly