【问题标题】:I trying some ajax script without success, when I submit the form I take success alert but nothing send to the Database我尝试了一些 ajax 脚本但没有成功,当我提交表单时我收到成功警报但没有发送到数据库
【发布时间】:2014-01-19 13:41:14
【问题描述】:

我尝试了一些 ajax 脚本但没有成功,当我提交表单时我收到成功警报,但没有发送到数据库。

我的 HTML 表单:

<form action="account_info.php" enctype="multipart/form-data" method="post">
<input id="email" name="email" type="text" value="Save"/>
<input id="username" name="username" type="text" value="Save"/>
<input type="submit" name="Submit" value="Save"/>
</form>

我的 PHP 代码:

$error='';
$info='';
if(isset($_POST['Submit'])) {

    require_once "classes/fields_process.php";
    require_once "classes/blocked_emails.php";

    if(!$usr->edit_info($crt_usr)) { 
        $usr_info=$usr->getTmp();
        $error=$usr->getError();
    } else { 
        $info=$usr->getInfo();
        $usr_info = $usr->getUser($crt_usr);
    }
} else $usr_info = $usr->getUser($crt_usr);

$smarty->assign("tmp",$usr_info);
$smarty->assign("error",$error);
$smarty->assign("info",$info);

【问题讨论】:

  • 代码是什么:fields_process.phpblocked_emails.php
  • 你的 jQuery 代码在哪里?
  • 在脚本的 php 文件中我没有查询我需要一个示例来进行 ajax 调用而不刷新页面
  • 这个类是ionqube编码文件

标签: javascript php jquery ajax forms


【解决方案1】:

在表单中添加一个 ID:"accountForm"

<form action="account_info.php" enctype="multipart/form-data" method="post" **id="accountForm"**>
<input id="email" name="email" type="text" value="Save"/>
<input id="username" name="username" type="text" value="Save"/>
<input type="submit" name="Submit" value="Save"/>
</form>

javascript:

$.customPOST = function(data,callback){
    $.post('account_info.php',data,callback,'json');
}
$('#accountForm').submit(function(){
  $.customPOST($(this).serialize(),function(r){
   //the response from the server in JSON format
   //an array, example in the PHP script we return
   //an array that contains : 'success' => true
   if(r.sucess){
     alert('Operation OK');
   }
  });
  return false;
});

但是在您的 PHP 中,您需要以 JSON 格式回显响应:

echo json_encode(array('success' => true));

【讨论】:

  • phpCore 如何做到这一点:echo json_encode(array('success' => true));
  • 使用你的脚本是不可能的,因为你使用 Smarty。您需要有一个以 ECHO 结尾的常规 PHP 脚本
  • 我使用 oxyclassifieds 脚本
【解决方案2】:

好的,我解决了这个问题。

<form name="accountform" id="accountform" method="post" action="account.php">
<input id="email" name="email" type="text" value="Save"/>
<input id="username" name="username" type="text" value="Save"/>
<input type="submit" name="Submit" value="Save"/>
</form>



{literal}<script> 
    // wait for the DOM to be loaded 
    $(document).ready(function() { 
        // bind 'myForm' and provide a simple callback function 
        $('#accountform').ajaxForm(function() { 
            alert("Thank you for your comment!"); 
        }); 
    }); 
  </script>{/literal}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多