0

メールを送信するファイルにAjaxリクエストをしています。「メッセージが送信されました」という正しい応答が返されますが、メールは送信されません。同じ GET Headers を使用してブラウザからそのファイルを実行しようとすると、メールが送信されます。

ここで何が問題なのですか?

ajax リクエストはうまく機能し、jquery で (success) キーワードを使用してトリガーされ、成功することを確認しました。

助けて !

ajax 側の場合:

function SendEmail(To, Subject, Message) 
{
 var URL = 'mail-service.php?to=' + To + '&subject=' + Subject + '&msg=' + Message;

$.ajax({
    url: URL,
    type: 'GET',
    success: function (res) {
        alert("Message Sent to : " + To);
    }
});
  }

PHP 側の場合:

<?php
$url = "http://mydomain.com/mail/mail.php?to=".$_GET['to']."&subject=".$_GET['subject']."&msg=".urlencode($_GET['msg']);

$link = fopen($url,"r");

while($res = fread($link,100))
{
    echo $res;
}

fclose($link);
 ?>
4

1 に答える 1

1

関数を誤解してsuccessいます。AJAX 要求の関数は、要求が成功すると実行されます。要求されたページが何をしたか、しなかったかは気にしませ

正しいメッセージを確実に受信するには、応答を返すように PHP 処理ファイルをセットアップする必要があります。

あなたのスクリプトで

success: function (res) {
    alert(res); //Display the response text
}

そして、PHP ファイルが応答テキストを出力として返すことを確認してください。

while($res = fread($link,100))
{
    echo $res; //Make sure this is like "Message sent" or "Message sending failed"
}
于 2012-09-21T11:41:29.120 に答える