无需刷新页面即可更新和检索更新的值

时间:2016-07-25 08:24:32

标签: php jquery

我有一个个人资料页面,用于更新用户名,电子邮件,名字和姓氏。我想更新并以相同的形式显示更新的值而不刷新。

我使用下面的jQuery代码来更新数据,但是如何在提交成功后检索更新的值

$(document).ready(function() {
    $("#send").submit(function() {
        var formData = new FormData($(this)[0]);
        $.ajax({
            url: 'http://localhost/form/index.php/mail/send',
            type: 'POST',
            data: formData,
            async: false,
            success: function(data) {
                if (data == 'true') {
                    alert("success");
                } else {
                    alert("error!");
                }
            },
            error: function(data){
                alert("Something went wrong!");
            },
        });
        return false;
    });

4 个答案:

答案 0 :(得分:0)

尝试这样的事情:

从你的ajax url页面

返回一个如下数组:

$response['errCode'] = 0;
$response['content'] = // your updated content

echo json_encode($response);

在你的js代码中,你会得到它,如:

var data = JSON.parse(response);

if(data['errCode'] == 0)
{
    // update content
}

答案 1 :(得分:0)

如果您已成功更新数据库,则无需从数据库中检索任何内容。在数据库中成功更新后,您只需将true或false返回到ajax成功点。如果它返回true,那么只需使用jquery $("#email").val('abc@abc.com');将用户名,电子邮件,名字和姓氏设置到文本框即可!

.val()方法

获取$("#txtEmail").val()

设置$("#txtEmail").val("something")

答案 2 :(得分:0)

请提供

return true;

之后的jquery代码中的

语句

success: function(data) {
            if (data == 'true') {
//place  here return true; and remove this alert statement.
}

并在你的html部分中,在你的html元素上添加如下

<input name="name" id="name" value="<?php echo set_value('name'); ?>" class=" field_style-2" type="text" maxlength="20" required/>

这只是一个示例。您可以使用自己的ID,名称和值属性更改您的HTML代码。我认为这很有用。否则请分享yoyur html代码

答案 3 :(得分:0)

if(data == 'true') {之后添加以下两行。

$("#div_id").html('');
$("#div_id").html(data);

现在做三件事,
1.在开始表单之前添加div标签。并在关闭表单标签后关闭该div标签。给div标识#div_id
2.复制完整的表单代码并粘贴到Update SQL下面。
3.将if(data == 'true')更改为if(data != '')

<强>逻辑: -

使用JQuery会点击url来更新数据库。然后它将在jquery帖子的响应中加载表单。如果首先将$div_id设为空,则将响应数据加载到该div id中。如果数据加载成功,然后刷新页面,则会显示更新的值。

注意:我已经在我的项目中使用了这个东西。它工作正常。