ajax打电话发帖子

时间:2014-10-11 17:47:01

标签: php jquery ajax

我有一个小函数,最终将保存到数据库,但是你在阅读帖子到php时遇到了麻烦,这里是jquery:

$("#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);
        }
        });
    });

它会显示它返回但当然错误是字段为空。 任何帮助赞赏。 杰夫

2 个答案:

答案 0 :(得分:2)

将数据发送到服务器的方式不正确。更好的方法是使用表单序列化:

$("#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中读取任何内容。

答案 1 :(得分:0)

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