请帮我处理jQuery.post.我的脚本没有给出错误,也没有发布表单字段
Please help me with jQuery.post. My script not giving an error nor posting form fields
我不明白为什么这个脚本不起作用。它与AJAX POST脚本/函数中的某些内容有关。现在,当我在表单上点击submit时,它应该将表单值传递到ajax_profile.php页面。它不是发送/过帐表单字段数据。请帮我解决这个问题。这是我的Javascript代码:
<script type="text/javascript">
$(document).ready(function(){
$('Buddie_profile').submit(function () {
$.post('ajax_profile.php', $(this).serialize(), function(data) {
if(data.success){
$("body").showMessage({
'thisMessage': [data.message],
'autoClose': true,
'className': 'tooltip',
'delayTime': 8000,
'displayNavigation': false
});
}else{
$("body").showMessage({
'thisMessage': [data.message],
'autoClose': true,
'className': 'tooltip',
'delayTime': 8000,
'displayNavigation': false
});
}
},'json');
return false;
});
});
以下是我的ajax_profile.php的php文件代码:
require('include/conn.php');
$success= mysql_query("UPDATE birthbuddie SET
Fname='".$_POST['FirstName']."',
Lname='".$_POST['SecondName']."',
Surname='".$_POST['Surname']."',
Dayofbirth='".$_POST['DayofBirth']."',
Monthofbirth ='".$_POST['MonthofBirth']."'
Yearofbirth='".$_POST['YearofBirth']."',
Ss='".$_POST['ss']."',
Mm='".$_POST['mm']."',
Hh='".$_POST['hh']."',
Countryofbirth='".$_POST['CountryofBirth']."',
Cityofbirth='".$_POST['CityofBirth']."',
Personalmsg='".$_POST['PersonalMessage']."',
WHERE BBId='".$_SESSION['userid']."'");
if($success){
$data['success']=true;
$data['message']='You have updated changes successfully';
}else{
$data['success']=false;
$data['message']='Update was not successful. Try again';
}
echo json_encode($data);
?>
您没有正确序列化表单数据。您没有引用字符串值。您不是对表单数据进行URI编码。收集表单数据的方式可能会导致JSON对象损坏。这应该已经在JavaScript控制台中出错了。如果你注意到浏览器中的JavaScript控制台,你应该已经注意到了这个错误(在Firebug/Chrome/IE9中按F12)。
假设$('#Buddie_profile')
引用HTML <form id="Buddie_profile">
,那么您应该将其数据序列化如下:
$.post('ajax_profile.php', $(this).serialize(), function(data) {
// ...
});
与具体问题无关,存在一些严重的SQL注入漏洞。如果最终用户在其中一个输入字段中输入了一个有效的部分SQL查询字符串,例如(部分)DROP
或TRUNCATE
查询,那么它也会被执行!使用参数化查询或至少使用mysql_real_escape_string()
。
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 添加和删除隐藏字段数组中的值,而不提交表单
- 单击鼠标,用MySQL数据填充html表单输入字段
- 带有条件字段的PHP表单
- 验证PDF表单中的字段
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 在表单中的输入字段上提交事件
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- 表单输入字段随着溢出的文本而增长
- 如何将onChange方法添加到ExtJS 4表单中的所有字段(textField)中
- 尝试使用名称访问表中字段的日期选取器时出现问题
- Javascript 表单 - 字段不是必需的
- 单击按钮时更改数据库表的字段值
- 数据表将字段值关联到按钮,而 ajax 填充表
- 返回数据表输入字段
- 更改附加表行字段jQuery的名称
- Angularjs表单/字段验证使用JavaScript函数,无需指令
- 仅在Firefox中,表脱离字段集边界
- 如何在表单提交后使用JQuery从附加到HTML表的字段中获取$_POST数组中的值
- 什么's提交表单后,从post数组中动态附加的表行字段中获取值的问题