Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery/AJAX更新MySQL表_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 使用jQuery/AJAX更新MySQL表

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

我有一个主php文件和一个javascript文件。我想使用jQuery/AJAX更新表单中的每个字段。我有所有正确的数据库更新sql等。这是我的jQuery是错误的。我有一张叫做profiles的表格。以下是列名:

现在,当我单击更新按钮时,它会将我重定向到一个空白页面,页面url中会显示更新的信息。当我检查数据库时,没有保存任何内容

这是一个wordpress插件

这是我的密码

jQuery更新

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);
        }