1

何が間違っているのかわかりません。複数のフォーラムを検索しましたが、解決策が得られませんでした。フォームから値を送信するために、次の ajax を定義しています。このコードが呼び出されていることを確認するアラート機能がありますが (これはそうです)、process.php は実行されていません。理由はありますか?これがajaxコードです(私のdataStringにはすべての変数の値が含まれており、$_POST変数に問題はないようです.

    // JavaScript Document
$(document).ready(function(){
$(".button").click(function() {
  // validate and process form here
  //alert("yayyy");

   var company = $("input#company").val();
   var jobfunc = $("input#jobfunc").val();
   var location = $("input#location").val();
   var overall = $("input#overall").val();
   var detail = $("textarea#detail").val();
   var pros = $("textarea#pros").val();
   var cons = $("textarea#cons").val();
   var sr_mgmt = $("textarea#sr_mgmt").val();
   var submitted_by = $("input#submitted_by").val();
   var classof = $("input#classof").val();
   var school = $("input#school").val();
   var anonymous = $("input#anonymous").val();
   if (anonymous == 'on')
   {
       var anonymous_tmp = 'Y';
   }
   else
   {
       var anonymous_tmp = 'N';
   }

    var dataString = 
    'company=' + company +
    '&jobfunc=' + jobfunc +
    '&location=' + location +
    '&overall=' + overall +
    '&detail=' + detail +
    '&pros=' + pros +
    '&cons=' + cons +
    '&sr_mgmt=' + sr_mgmt +
    '&submitted_by=' + submitted_by +
    '&classof=' + classof + 
    '&school=' + school +
    '&anonymous=' + anonymous_tmp;

  alert (dataString);
  $.ajax(
  {
    type:"POST",
    url:"process.php",
    data:dataString,
    success:function() 
    {
      $('#testimonials').html("<div id='message'></div>");
      $('#message').html("<h2>Your information has been submitted!</h2>")
      .append("<p>Thank you for your help and support.</p>")
      .hide()
      .fadeIn(1500, function() 
      {
        $('#message').append("<img id='checkmark' src='images/check.png'/>");
      });
    }
  });
  return false;
});
});
4

1 に答える 1

1

process.php は 500 エラーを返していますか? それは Web アプリのルートにありますか? ブラウザで開発者コンソールのログを調べるか、機能を変更することで確認できます

success:function() 

success:function(res, textStatus, jqXHR) {
console.log(res);
console.log(textStatus);
console.log(jqXHR);
}

何が返されているかを調べます。

また、フォームの値を手動で作成する代わりに、

$('id_of_form').serialize();

$.postに渡すだけですか?

それが役立つことを願っています。

于 2012-04-10T01:58:42.120 に答える