2016-04-01 13 views
1

私は以前にAjax呼び出しを行ってJSONオブジェクトを返すようにしましたが、うまく動作しません。PHP JSONオブジェクトをJavascriptに戻します。[AJAX CALL]が動作しません。

は、これは私のAJAX呼び出しです:

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"); 
    } 
}); 
} 

と、これは私のPHPの関数である: ""(空の文字列)があり :

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); 
} 

が、変数 "データ" の値を持ちます私のPHPクラスに他のエコーはありませんので、問題ではありません。あなたが戻っページに結果を生成することができます前に、あなたのif文で事前に

おかげで、

+2

ifの内部から 'return'を削除して、結果のヘッダとエコーを取得します。現在、 'return'の後に何も実行されません。 – RiggsFolly

+0

はいRiggsFolly。 @Mats de Waard、あなたのプライベートPHP sendContactForm()関数をどう呼びますか? – Xenofexs

+0

@Xenofexs私はそれが 'publicであっても、AJAX呼び出しから直接クラスメソッドを呼び出す方法を知らないので、そのクラスの別のメソッドから実行されていると仮定しなければなりません。 – RiggsFolly

答えて

1

return年代
マットデWaardは、この関数の実行を停止しています。

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

ああ私の神。私は馬鹿だと感じる。 noobyの間違いで申し訳ありません、私は休憩を取る必要があると思う:P 助けてくれてありがとう! –

+0

私たちは皆そこにいました。それはあなたを心配させてください。 – RiggsFolly

関連する問題