Javascript 使用jQuery/AJAX更新MySQL表
我有一个主php文件和一个javascript文件。我想使用jQuery/AJAX更新表单中的每个字段。我有所有正确的数据库更新sql等。这是我的jQuery是错误的。我有一张叫做profiles的表格。以下是列名: 现在,当我单击更新按钮时,它会将我重定向到一个空白页面,页面url中会显示更新的信息。当我检查数据库时,没有保存任何内容 这是一个wordpress插件 这是我的密码 jQuery更新Javascript 使用jQuery/AJAX更新MySQL表,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我有一个主php文件和一个javascript文件。我想使用jQuery/AJAX更新表单中的每个字段。我有所有正确的数据库更新sql等。这是我的jQuery是错误的。我有一张叫做profiles的表格。以下是列名: 现在,当我单击更新按钮时,它会将我重定向到一个空白页面,页面url中会显示更新的信息。当我检查数据库时,没有保存任何内容 这是一个wordpress插件 这是我的密码 jQuery更新 jQuery(document).ready(function ($) { event
jQuery(document).ready(function ($) {
eventHandlers = function () {
$('#cm-list').delegate('.update', 'click', function (event) {
event.preventDefault();
var row = $(this).parent()[0],
htmid = row.id,
id = htmid.replace('no_', ''),
fname = $('.fname', row).val(),
lname = $('.lname', row).val(),
sex = $('.sex', row).val(),
nationality = $('.nation', row).val(),
position = $('.position', row).val(),
json = { 'id': id, 'fname': fname, 'lname': lname, 'sex': sex, 'nationality': nation, 'position': position };
if (fname.length > 1) {
$.post(ajaxurl, { action: 'updateprofile', 'pro_data': json }, function (data) {
if (data) {
$.jGrowl(custom.profile_name + fname + lname + custom.edited, { header: custom.yes });
}
});
}
else {
$.jGrowl(custom.err, { header: custom.no });
}
});
},
cm_init = function () {
eventHandlers();
};
cm_init();
}))
Php代码只是为了向您展示我的sql
我的函数updateprofile()位于_construct()内
添加动作(wp\uajax……ajax钩子)
无法找到此问题的答案,因此非常感谢您的帮助
编辑:目前,jQuery没有错误。当我单击“更新”按钮时,它会将我带到一个空白页面,其中url包含我提交的信息,这对我来说是无用的。我希望它立即更新并提醒用户,等等
编辑:获取未捕获的语法错误:意外的标记如果现在,如果我取出分号。如果我在json变量后保留它,它会给我意外的标记错误,如何解决?
编辑:我现在已经修复了这个错误,这是我的错误,我有一个额外的括号。它现在不会变成一个白色的空白页。文本正在出现,例如个人资料John已经修改。但是数据库中仍然没有任何更改。不应该这样:$('.fname',row.val()=>$('.fname'+row.val())?为什么在fname后面加“+”?您在控制台中看到任何错误吗?请改为尝试$(“.fname,”+行)。我以为您错误地添加了逗号而不是“+”,但您使用了多个选择器。我相信逗号应该在引号中。好的,我现在看到这一行有错误json={'id':id,'fname':fname,'lname':lname,'sex':性别,'national':国家,'position':position};Uncaught syntaxerror意外标记;我取出了;现在它给我的if语句带来了一个错误?我现在也要尝试引号,谢谢!你能用json字符串做一个console.log吗?同时,检查AJAX方法是否将参数发送到PHP端
function update() {
if (!isset($_POST['pro_data'])) {
return;
}
$this->db_update($_POST['pro_data']);
}
function db_update($input) {
global $wpdb;
$result = $wpdb->update($wpdb->prefix . CM_PROTBL,
array('fname' => $input->fname,
'lname' => $input->lname,
'sex' => $input->sex,
'nationality' => $input->nationality,
'position' => $input->position
),
array('id' => $input->id),
array('%s',
'%s',
'%s',
'%s',
'$s'
),
array('%d')
);
if ($this->return_result($result)) {
$this->renderprofile($input);
}
}
function renderprofile($input) {
$output = array(
'fname' => $input->fname,
'lname' => $input->lname,
'sex' => $input->sex,
'nationality' => $input->nationality,
'position' => $input->position
);
$this->renjson($output);
}