0

AJAX と PHP を使用してメールを送信しようとしていますが、成功しません:(
私の成功関数は、それが機能していることを警告しますが、メールボックスには何も表示されません。PHPフォームは ROOT フォルダーにあり、機能しているので、それがPHPの問題ではありません.これを解決するために何時間も試みましたが、効果はありません.誰かが助けてくれますか?THX!!!これは私のconsole.logが示すものです:

name=MY NAME&email=dejo.dekic@yahoo.com&message=SOME MESSAGE pagepays. js
POST http://www.homepagepays.robertpeic.com/kontakt.php 200 OK 284ms 私の jquery コードは次のようになります。

      $('#button').click(function(){
      var name = $('#name').val();
      var email = $('#email').val();
      var message = $('#message').val();

      var data ='name=' + name + '&email=' + email + '&message=' + message;
      console.log(data);
      $.ajax({
      type:"POST",
      url:'kontakt.php',
      data: data,
      success: function(){
      alert('Working!');
      }

      });
      return false;
      });
4

2 に答える 2

1

あなたのjQueryに問題はありません。URL の変数、または電子メールのページ内のいくつかのデフォルト値を使用してページをロードした場合、PHP ページは実際に電子メールを送信しますか?

データを取得し、これをphpページで使用することにより、phpページが受信しているデータを印刷してみることができます。

print("$name - $email - $message");

次に、jQuery ajax 呼び出しをこれに変更します。

$.ajax({
  type:"POST",
  url:'kontakt.php',
  data: data,
  success: function(response){
    alert(response);
  }
});

これにより、php ページが ajax 呼び出しと送信したデータで機能しているかどうかがわかります。期待したデータが返されない場合は、php ページが変数を取得する方法に問題があるはずです。

于 2012-06-20T14:13:29.287 に答える
1

渡された値を URI エンコードする必要がある場合があります。いずれかのフィールドに=またはがある場合&、URL が無効になる可能性があります。もちろん、上記の私のコメントに基づいて、フォームをシリアル化してエンコードする必要があると思います。それはあなたのやり方で行うこともできます。

  var name = encodeURIComponent($('#name').val());
  var email = encodeURIComponent($('#email').val());
  var message = encodeURIComponent($('#message').val());

JSFiddle: http://jsfiddle.net/UXZQk/5/

于 2012-06-20T14:16:12.660 に答える