reza_yki

عدم نمایش پاسخ json

18 پست در این موضوع قرار دارد

سلام من یه ابزارک ثبت نام نوشتم همه چی درست کامل کار میکنه و به صورت ای جکسی هست مشکلم فقط نمایش خطاهاست (می خوام همه خطا ها به صورت یک جا نشون داده بشن)

یعنی من وقتی برای هر خطای یه wp_send_json می زارم فقط اولین خطا رو نشون می ده و وقتی که 3 تا خطا هست نشون نمی ده و باید خطای یک رو کاربر برطرف کنه بعد میاد خطای بعدی رو نشون می ده

(یعنی وقتی کد بالا رو قرار می دم درست چاپ می کنه فقط یکی رو نشون می ده  ولی وقتی به صورت آرایه انجام می دم همه رو در network نشون میده ولی چاپ نمی کنه) من به صورت ارایه این کار رو کردم لطفا کد زیر رو ببینید:
 

 $results = array();
    if (isset($_POST['submit'])) {
        if(empty($username_reg) || empty($email_reg) || empty($password_reg) || empty($password_confirmation_reg) ){
            $results [] = array(
                'error' => true,
                'massage' => '<i class="fa fa-times"></i>لطفا فیلد های خواسته شده را تکمیل نمایید'
            );

        }
        if (username_exists($username_reg)) {
            $results [] = array(
                'error' => true,
                'massage' => '<i class="fa fa-exclamation-triangle"></i>این نام کاربری قبلا در سایت ثبت شده است '
            );


        }
        if(email_exists($email_reg)) {

            $results [] = array(
                'error' => true,
                'massage' => '<i class="fa fa-exclamation-triangle"></i>این ایمیل قبلا در سایت ثبت شده است.'
            );


        }
        if(!filter_var($email_reg, FILTER_VALIDATE_EMAIL)){
            $results [] = array(
                'error' => true,
                'massage' => '<i class="fa fa-exclamation-triangle"></i>آدرس ایمیل نامعتبر است.'
            );


        }
        if($password_reg != $password_confirmation_reg){
            $results [] = array(
                'error' => true,
                'massage' => '<i class="fa fa-exclamation-triangle"></i>رمز عبور ها تطابق ندارند.'
            );

        }
        $add_user_data = array(
            'user_login' => $username_reg ,
            'user_email' => $email_reg ,
            'user_pass'  => $password_reg ,
        );
        $add_user_id = wp_insert_user($add_user_data);
        if( is_wp_error($add_user_id) ){

            $results [] = array(
                'error' => true,
                'massage' => '<i class="fa fa-exclamation-triangle"></i>در ثبت نام شما خطایی رخ داده است لطفا بعدا اقدام کنید.'
            );


        }else{
            if (!empty ($website_name_reg)){
                update_user_meta($add_user_id , 'website_url_reg' ,$website_name_reg);
            }
            if (!empty ($tell_reg)){
                update_user_meta($add_user_id , 'mobile_user_reg' ,$tell_reg);
            }
            $results [] = array(
                'error' => true,
                'massage' => '<i class="fa fa-exclamation-triangle"></i>ثبت نام شما با موفقیت انجام شد.<br />برای ورود به سایت از زبانه ورود اقدام فرمائید.'
            );

        }


        wp_die(json_encode($results));
    }

پاسخ رو در network نشون میده ولی در خود سایت نشون داده نمی شه اینم عکس

راهنمایی شما موجب شادی ماست :)

response.png

0

به اشتراک گذاری این پست


لینک به پست

دوست عزیز برای نمایش میشه بگید از چی استفاده میکنید

کدش رو منظورمه

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، a2h گفته است :

دوست عزیز برای نمایش میشه بگید از چی استفاده میکنید

کدش رو منظورمه

 $('#suchly_register').on('submit' , function(event){
        event.preventDefault();
        var $this = $(this);
        var $username_reg = $this.find('#username_reg').val();
        var $email_reg = $this.find('#email_reg').val();
        var $password_reg = $this.find('#password_reg').val();
        var $password_confirmation_reg = $this.find('#password_confirmation_reg').val();
        var $website_name_reg = $this.find('#website_name_reg').val();
        var $tell_reg = $this.find('#tell_reg').val();
        var $submit_reg = $this.find('#register_submit').val();
        var $alert_reg = $('.register-massage');
        $alert_reg.slideUp();
        //if( $username_reg ==="" || $email_reg ==="" || $password_reg==="" || $password_confirmation_reg===""){
        //    $alert_reg.html('<p><i class="fa fa-times"></i>لطفا فیلد های خواسته شده را تکمیل نمایید</p>').slideDown(300);
        //    return false;
        //}
        var $_nonce_reg = $('input[name="_nonce_register"]').attr('value');
        $.ajax({
            url:data.ajax_url,
            type : 'post',
            dataType:'json',
            data :{
                action : 'suchly_user_register',
                username_reg: $username_reg,
                email_reg: $email_reg,
                password_reg:$password_reg,
                password_confirmation_reg: $password_confirmation_reg,
                website_name_reg:$website_name_reg,
                tell_reg:$tell_reg,
                submit:$submit_reg,
                _nonce_register : $_nonce_reg
            },
            success:function(response){
                //$alert_reg.html('<p>'+ response +'</p>').slideDown(300);
                if(response.error ){
                    alert(  $alert_reg.html('<p>'+ response.massage +'</p>').slideDown(300));

                    //$alert_reg.parent().before(response.content);

                    //$this.parent().before(response.content);

                }

                if( response.success ){
                    $alert_reg.html('<p>'+ response.massage +'</p>').slideDown(300);
                    //$alert_reg.parent().before(response.content);
                    //window.location.reload();
                }
            },
            error: function(){}

        })
    });

کلا این هست به صورت ای جکسی ارسال و دریافت میشه

0

به اشتراک گذاری این پست


لینک به پست

دوست عزیز و گرامی ببینید لینک هایی که به شما میدم مشکلتونو حل میکنه یا خیر

http://stackoverflow.com/questions/3326820/how-to-print-json-data

http://stackoverflow.com/questions/13658523/output-json-arrays-with-javascript

 

0

به اشتراک گذاری این پست


لینک به پست

;)

0

به اشتراک گذاری این پست


لینک به پست
در 7 دقیقه قبل، a2h گفته است :

دوست عزیز و گرامی ببینید لینک هایی که به شما میدم مشکلتونو حل میکنه یا خیر

http://stackoverflow.com/questions/3326820/how-to-print-json-data

http://stackoverflow.com/questions/13658523/output-json-arrays-with-javascript

 

متاسفانه نشد یا نتونستم چون جی کوئری ضعیفی دارم

0

به اشتراک گذاری این پست


لینک به پست

من احساس میکنم چون بازگشت به صورت آرایه می باشد برای چاپ احتیاج دارید داخل یه فور یا چیزی قرار بدید ولی باید تست کنم البته اگه اساتید تو این زمینه تجربه ای دارنت خوب میشه بهتون کمک کنن

 

0

به اشتراک گذاری این پست


لینک به پست

من تا حالا به این جور مشکلی فکر کنم یک بار برخوردم که خیلی وقت پیش بود یادمم نیست چیکارش کردم ولی حلش کردم

0

به اشتراک گذاری این پست


لینک به پست

من از response یه alert می گیرم فقط می نویسه Object همین مشکل اینه که نمی دونم چطوری داخل ارایه ها رو چاپ کنم :(

0

به اشتراک گذاری این پست


لینک به پست

به این صورت باید باشه فکر کنم

response['content']

 

0

به اشتراک گذاری این پست


لینک به پست

این باید در Alert باشه

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، a2h گفته است :

این باید در Alert باشه

:(

undefined

0

به اشتراک گذاری این پست


لینک به پست

انلاینه ؟ ادرسشو قرار بدید لطفا

0

به اشتراک گذاری این پست


لینک به پست
در 2 دقیقه قبل، a2h گفته است :

انلاینه ؟ ادرسشو قرار بدید لطفا

نه متاسفانه لوکال هست در حال طراحی هستم

 

0

به اشتراک گذاری این پست


لینک به پست

دوستان دیگه نظری ندارن

0

به اشتراک گذاری این پست


لینک به پست

سلام

پاسخی که به شما میده به صورت json هست, شما باید اول اون رو با $.parseJSON به آرایه تبدیل کنید.

0

به اشتراک گذاری این پست


لینک به پست

سلام من این طور نوشتم ولی به نتیجه ای نرسیدم

success:function(response){
                    if( response.error ){
                        $.parseJSON(response);
                        $alert_reg.html('<p>'+ response.massage +'</p>').slideDown(300);
                    }

                    if( response.success ){
                        $alert_reg.html('<p>'+ response.massage +'</p>').slideDown(300);
                        //window.location.reload();
                        //window.location.href = 'http://localhost/wordpress/wp-admin/profile.php';
                    }
                }

لطفا کمک کنید

0

به اشتراک گذاری این پست


لینک به پست

این رو تست بفرمایید :

success:function(response){

	var obj = $.parseJSON(response);
	
	if( obj.error ){
		$alert_reg.html('<p>'+ obj.massage +'</p>').slideDown(300);
	}

	if( obj.success ){
		$alert_reg.html('<p>'+ obj.massage +'</p>').slideDown(300);
		//window.location.reload();
		//window.location.href = 'http://localhost/wordpress/wp-admin/profile.php';
	}
}

 

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری