我有一个小函数,最终将保存到数据库,但是你在阅读帖子到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);
}
});
});
它会显示它返回但当然错误是字段为空。 任何帮助赞赏。 杰夫
答案 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
属性,例如emp
,sdate
等。然后在服务器端,您将能够读取POST参数,例如此
$_POST['emp']
您的方法存在的问题是,当您只提供一个数组时,没有与值对应的键,这就是为什么您无法在PHP中读取任何内容。
答案 1 :(得分:0)
仍然真正教自己ajax,以正确的格式返回数据是原始问题,结果证明它按预期工作,但我真的不知道如何正确处理它。