1

ajax フォームの送信に問題があります。フォームを動的に送信し、サーバー側で php を使用して処理しています。これが ajax 成功関数です。

   $.ajax({
                        type: "POST",
                        url: "register.php",
                        data: "uname="+uname+"&eid="+eid+"&pwd="+pass+"&cpwd="+cpass+"&country="+coun+"&contact="+contact,
                        dataType: "html",
                        success: function(data){
                            if(data!="error")
                            {   
                               //alert(data);
                                $("#user_status", window.parent.document).html("Welcome "+data+"&nbsp;&nbsp;|&nbsp;&nbsp;<a href='forum/logout.php'>Logout</a>");
                                if(window.parent.document.getElementById('post_user_name'))
                                    $("#post_user_name", window.parent.document).html(msg);
                                parent.$.fancybox.close();
                            }
                            if(data=="error")
                            {   
                                //alert(data);
                                $("#status").html("<span><center><font class='formright err_msg' style='width:176px;'>The user is already register with us.</font><center></span>");
                                return false;
                            }

ユーザーが有効な場合、彼はログインしていますが、「既に存在します」のようなエラーが発生する必要はありません.有効な部分は正常に動作しますが、無効な場合はphpファイルからエラーを返しますが、それでもエラーメッセージは表示されません画面にエラーが表示されます。フォームにファンシーボックスを使用しています(jquery fancybox)PHPコードは

        if($_POST['pwd']==$_POST['cpwd'])
            {
                $username   = $_POST['uname'];
                $email      = $_POST['eid'];
                $password   = md5($_POST['pwd']);
                $cpassword  = $_POST['cpwd'];
                $contact_no = $_POST['contact'];
                $country    = $_POST['country'];

                $cnt      =     $checkUser['cnt'];

                if($cnt!=0) 
                {
                    echo "error";
                    //exit;
                    /*$_SESSION['error_msg']    =   'Email Address already exists';
                    redirect_to_link("index.html");*/

                } 
                else
                {
                    //echo "entered here";
                    $userArray = array();
                    //$user = return_post_value($_POST['uname']);
                    $userArray['uname'] = return_post_value($_POST['uname']);
                    $userArray['email'] = return_post_value($_POST['eid']);
                    $userArray['password'] = md5(return_post_value($_POST['pwd']));
                    $userArray['contact_no'] = return_post_value($_POST['contact']);
                    $userArray['country'] = return_post_value($_POST['country']);

                    //print_r($userArray);
                    //exit;
                    $userObj->addUserValue($userArray);
                    $_SESSION['username']=  $userArray['uname'];            
                    echo $userArray['uname'];
                                  //    return $user;
                }

echo $ userArray ['uname']; 部分は機能しますが、エコー「エラー」は機能しません.Firebug応答ヘッダーでチェックすると、返されたエラーワードが表示されます。誰かがそれに光を当てることができますか?
ありがとう

4

1 に答える 1

1

これを使用して比較します if($.trim(data)!="error")

if($.trim(data)=="error") を再チェックしないでください

使用する

if($.trim(data)!="error")
{
 //
}
else{
//
}
于 2012-05-24T06:55:05.373 に答える