Ajax调用发送后

问题描述:

我有一个小的功能,最终将保存到数据库中,但是,恩顺利读取后到PHP的,这里是jQuery的:Ajax调用发送后

$("#loginbtn").click(function() { 

     var myData = new Array(
      'emp='+ $("#emp").val(), //build a post data structure 
      'sdate='+ $("#sdate").val(), 
      'tdate='+ $("#tdate").val(), 
      'address='+ $("#address").val(), 
      'city='+ $("#city").val(), 
      'state='+ $("#state").val(), 
      'zip='+ $("#zip").val(), 
      'pos='+ $("#pos").val(), 
      'sal='+ $("#sal").val(), 
      'phone='+ $("#phone").val(), 
      'sname='+ $("#sname").val(), 
      'duties='+ $("#duties").val(), 
      'reason='+ $("#leave").val() 
     ); 
     alert(myData) 
     jQuery.ajax({ 
     type: "POST", // HTTP method POST or GET 
     url: "inc/functions.php", //Where to make Ajax calls 
     dataType:"Data", // Data type, HTML, json etc. 
     data:myData, //Form variables 
     success:function(data){ 
      alert('back') 
     }, 
     error:function (xhr, ajaxOptions, thrownError){ 
      alert(thrownError); 
     } 
     }); 
    }); 

它会显示它来了回来,但当然错误是这些字段为空。 任何帮助表示赞赏。 Jeff

还真的教我自己ajax,以正确的格式返回数据是原来的问题,事实证明它是按预期工作,但我真的不知道如何正确处理它。

+0

那么你是如何解决你的问题? – CompanyDroneFromSector7G 2015-03-13 15:41:18

将数据发送到服务器的方式不正确。更好的方式来做到这一点是使用的形式系列化:

$("#loginbtn").click(function() { 

    //build a post data structure 
    var myData = $('#login-form').serialize(); 
    alert(myData) 
    jQuery.ajax({ 
     type: "POST", // HTTP method POST or GET 
     url: "inc/functions.php", //Where to make Ajax calls 
     dataType: "Data", // Data type, HTML, json etc. 
     data: myData, //Form variables 
     success: function (data) { 
      alert('back'); 
     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      alert(thrownError); 
     } 
    }); 
}); 

对于这项工作,确保所有你输入的字段有name属性,如empsdate等,然后在服务器端,您将能够阅读POST参数,这样

$_POST['emp'] 

与方法的问题是,当你只提供一个数组有值对应的无按键,这就是为什么你不能看什么在PHP。