2016-04-07 16 views
3

私は POSTリクエストをphpに送信しています。それを呼び出すことができますA.phpAjaxはネストされたphpファイルを呼び出します

このA.phpファイルはB.phpを呼び出します。

$.ajax({ 
      type: "POST", 
      url: "../../page_components/A.php", 
      data: { // my data 
      }, 
      success: function(response) { 
       location.reload(); 
      }, 

に直面して問題:A.phpもBを呼び出すとき、成功関数が呼び出されていません。 A.phpは私A.php

/* some stuff that a.php does 
*/ 
include ('B.php'); // call B.php to handle other stuff 

B.php

<?php 

require '../../../../PHPMailer/class.phpmailer.php'; 
require '../../../../PHPMailer/class.smtp.php'; 

// set relevant agency email to send to. $agency comes from A.php 
switch ($agency) { 
    case "1": $receiverEmail = "[email protected]"; 
    break; 
    case "2" : $receiverEmail = "[email protected]"; 
    break; 
} 


$mail = new PHPMailer(); 

// All the mail setting and stuff is here... 
if(!$mail->Send()) { 
    echo 'Message was not sent.'; 
    echo 'Mailer error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent.'; 
} 
?> 
+1

ように、その後であれば、問題はおそらく正しい応答を返すからA.phpを停止B.phpにあるが、それはそのコードを見ずに言うのは難しいです。 – larsAnders

+0

あなたの 'A.php'と' b.php'は何も出力しませんか? –

+0

彼らは両方とも何かをエコーし​​ます。私は試して、すべての機能は両方の 'php'ファイルで正常に動作していた。成功関数は呼び出されません。 'B.php'は単なるPHPMailerで、receiver_emailとmessagebodyをA.phpから送信することによって電子メールを送信します。 –

答えて

-1
url: "../../page_components/A.php" 

でB.php

を呼び出さない場合には、そのURLがB.phpに送ることになっている正常に動作します? URLをすることになってありえないことがこの

url: "../../page_components/B.php" 
+0

ajax呼び出しで最初に' A.php'を呼び出します。 'B.php'は' A.php 'によって呼び出されます。 –

関連する問題