رفتن به مطلب

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


پست های پیشنهاد شده

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

یعنی من وقتی برای هر خطای یه 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

لینک به ارسال

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

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

لینک به ارسال
در 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(){}

        })
    });

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

لینک به ارسال

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

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

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

 

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

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

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

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

 

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

لینک به ارسال

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

 

لینک به ارسال

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

لینک به ارسال

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

لینک به ارسال

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

response['content']

 

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

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

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

 

لینک به ارسال

سلام

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

لینک به ارسال

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

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

لطفا کمک کنید

لینک به ارسال

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

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

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...