plechev

Неофит
  • Публикации

    1
  • Зарегистрирован

  • Посещение

Репутация

0 Обычная

О plechev

  • Звание
    Новичок
  1. Добрый день, надеюсь на вашу помощь, сам что то не могу дойти до причины проблемы( Проблема в некорректной работе ajax. Код авторизует пользователя и редиректит на нужную страницу. Код прекрасно работает на одних сайтах и не работает на других при вроде бы равных условиях. Хотя не работает - это сильно сказано. Данные отправляются, обрабатываются в функции и вроде бы возвращаются, но не выводятся или неправильно обрабатывается ответ не могу понять. Имеем следующий код php: function sign_user_in_account_recall(){ $pass = $_POST['user_pass']; $login = $_POST['login_sign']; if($pass&&$login){ $creds = array(); $creds['user_login'] = $login; $creds['user_password'] = $pass; $creds['remember'] = true; $user = wp_signon( $creds, false ); if ( is_wp_error($user) ){ //$user->get_error_message() $res['int']=1; $res['recall'] .= '<p style="text-align:center;color:red;">Логин или пароль были набраны неверно<br /><a href="/wp-login.php?action=lostpassword">Забыли пароль?</a></p>'; }else{ $res['redirect'] = get_author_posts_url($user->id); $res['int']=100; $res['recall']='<p style="text-align:center;color:green;">Успешный вход! Вы будете перенаправлены на свою страницу.</p>'; } }else{ $res['int']=1; $res['recall'] .= '<p style="text-align:center;color:red;">Все поля обязательны для заполнения!</p>'; } echo json_encode($res); exit; } add_action('wp_ajax_sign_user_in_account_recall', 'sign_user_in_account_recall'); add_action('wp_ajax_nopriv_sign_user_in_account_recall', 'sign_user_in_account_recall'); Соответственно джаваскрипт: jQuery("#sign").live("click",function(){ var pass_sign = jQuery("#user_pass_sign").attr("value"); var login_sign = jQuery("#user_login_sign").attr("value"); var dataString_sign = "action=sign_user_in_account_recall&user_pass="+pass_sign+"&login_sign="+login_sign; jQuery.ajax({ type: "POST", data: dataString_sign, dataType: "json", url: "/wp-admin/admin-ajax.php", success: function(data){ if(data["int"]==100){ jQuery("#regrequest").html(data["recall"]); jQuery("#regrequest").slideDown(1500); location.replace(data["redirect"]); } else { jQuery("#regrequest").html(data["recall"]); jQuery("#regrequest").slideDown(1500).delay(5000).slideUp(1500); } } }); return false; }); Ответ от сервера следующий: <div style="display:none"> </div>{"int":1,"recall":"<p style=\"text-align:center;color:red;\">\u0412\u0441\u0435 \u043f\u043e\u043b\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f!<\/p>"} Помогите плиз разобраться, уже долго мучаюсь)