Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Программирование Все вопросы по написанию программ |
|
Опции темы |
10.05.2015, 15:48 | #1 (Ссылка на пост) | ||||||||
Задержался
Пол:
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея:
0
Вес репутации: 10
|
Кто шарит в ajax, json и поможет разобраться?
Нужна помощь в написании ajax запроса с json ответом , для валидации логин-панели.
|
||||||||
|
10.05.2015, 19:35 | #2 (Ссылка на пост) | ||||||||
Политический эксперт
Пол:
Благодарил(а): 661
Благодарили 922 раз в 427 постах
Галерея:
0
Вес репутации: 21
|
на чистом js или Jquery.ajax? давай подробности, если что посоветовать надо помогу
__________________
SAVE CARAMEL!!! |
||||||||
|
10.05.2015, 21:21 | #3 (Ссылка на пост) | ||||||||
Задержался
Пол:
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея:
0
Вес репутации: 10
|
Делаю ajax форму авторизации для opencart
Вот форма html <form action="<?php echo $action; ?>" method="post" id="action-log"> <p> <label for="email"><?php echo $entry_email; ?> </label> <input type="text" name="email" value="" /> </p> <p> <label for="password"><?php echo $entry_password; ?></label> <input type="password" name="password" value=""/> </p> <p class="remember"> <input value="<?php echo $button_login; ?>" class="signing" type="submit"/> <!-- <input id="remember" name="remember_me" value="1" type="checkbox"/> <input type="hidden" name="redirect" value="">--> <label for="remember">Запомнить меня</label> </p> <p class="forgot"> <a href="<?php echo $forgotten; ?>"><?php echo $text_forgotten; ?></a> </p> <p class="register"> <a title="" href="<?php echo $register; ?>"><?php echo $text_register; ?></a> </p> </form> вот что то типа ajax $(document).ready(function() { $('#action-log').submit(function(){ // прячем текст ошибок $.ajax({ type: "POST", dataType: "json", url: "http://localhost/opencart/index.php?route=account/login", //Relative or absolute path to response.php file data:$('#action-log').serialize(), success: function(json) { $('.warning, .error').remove(); if (json['redirect']) { if (json['success']) { $('#action-log').before(json['success']).remove(); setTimeout(function() { location = json['redirect'] }, 3000); } else { location = json['redirect']; } } else if (json['error']) { if (json['error']['warning']) { $('#action-log').before('<div class="warning" style="display: none;">' + json['error']['warning'] + '</div>'); $('.warning').fadeIn('slow'); } if (json['error']['error_login']) { $('#action-log input[name=\'email\']').after('<span class="error">' + json['error']['error_login'] + '</span>'); } if (json['error']['error_approved']) { $('#action-log input[name=\'password\']').after('<span class="error">' + json['error']['error_approved'] + '</span>'); }} } }); // останавливаем сабмит, чтоб не перезагружалась страница return false; }); }); А это фрагмент php protected function validate() { $json = array(); if (!$this->customer->login($this->request->post['email'], $this->request->post['password'])) { $json['error'] = $this->language->get('error_login'); } $customer_info = $this->model_account_customer->getCustomerByEmail($this->request->post['email']); if ($customer_info && !$customer_info['approved']) { $json['error'] = $this->language->get('error_approved'); } $this->response->setOutput(json_encode($json)); } Как то так. Поля формы при неправильном вводе должны выдавать ошибку. |
||||||||
|
10.05.2015, 21:48 | #4 (Ссылка на пост) | ||||||||
Что-то высматривает
Пол:
Благодарил(а): 341
Благодарили 338 раз в 93 постах
Галерея:
0
Вес репутации: 17
|
$json['error'] = $this->language->get('error_approved');
тут вы задаете одно, а if (json['error']['error_login']) { тут пытаетесь проверять другое
__________________
PHP.SU |
||||||||
|
11.05.2015, 08:29 | #5 (Ссылка на пост) | ||||||||
Задержался
Пол:
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея:
0
Вес репутации: 10
|
Подскажите как правильно разобрать массив с ошибками json
|
||||||||
|
11.05.2015, 21:39 | #6 (Ссылка на пост) | ||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 6,493
Благодарили 7,331 раз в 2,872 постах
Галерея:
0
Вес репутации: 98
|
я вижу только хэндлер на удачное выполнение. (success а для ошибки нужен error:
а вообще, что именно не так? и зачем сабмит заменять вызовом метода ajax? |
||||||||
|
12.05.2015, 07:56 | #7 (Ссылка на пост) | ||||||||
Задержался
Пол:
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея:
0
Вес репутации: 10
|
Чтобы страница не перезагружалась и можно было выполнить вход с любой страницы, так как ajax и форма расположены в header.
Последний раз редактировалось ДмитрийТ, 12.05.2015 в 08:34. |
||||||||
|
12.05.2015, 10:35 | #8 (Ссылка на пост) | ||||||||
Уже сменил себе статус
Пол:
Благодарил(а): 3,844
Благодарили 1,942 раз в 919 постах
Галерея:
0
Вес репутации: 40
|
Разве после логина содержимое страницы не должно поменяться с учётом залогиненного пользователя?
|
||||||||
|
12.05.2015, 10:46 | #9 (Ссылка на пост) | ||||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 6,493
Благодарили 7,331 раз в 2,872 постах
Галерея:
0
Вес репутации: 98
|
Цитата:
Почесав затылок, юзер дописал через 2 минуты Цитата:
я так понял что делается логин форма в навбаре. |
||||||||||
|
12.05.2015, 18:10 | #10 (Ссылка на пост) | ||||||||
Задержался
Пол:
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея:
0
Вес репутации: 10
|
Так точно! Форма расположена в топ навбаре. Нажав на ссылку вход, выпадает форма, а из формы данные отправляются через ajax в index.php?route=account/login, обрабатываются и отправляются в формате json обратно. Если succes-скрипт обновляет страницу страницу, если error он выделяет поля красным и выводит ошибку поля. Правда еще не придумал как redirect сделать, но это потом.
На розетке подобный пример и в comfy кажется тоже. Последний раз редактировалось ДмитрийТ, 12.05.2015 в 18:16. |
||||||||
|
12.05.2015, 19:52 | #11 (Ссылка на пост) | |||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 6,493
Благодарили 7,331 раз в 2,872 постах
Галерея:
0
Вес репутации: 98
|
Цитата:
с директивами ng-show и ng-hide, <div> блоки будут либо прятаться либо показываться, в зависимости от наличия в рутскопе переменной user. <div ng-show="user"> <li>User is signed in </li> <li ng-href="/signout">Sign out</li></div> <div ng-hide="user"> <li ng-href="/signin">Sign in</li> <li ng-href=""/signup>Register</li></div> |
|||||||||
|
12.05.2015, 20:07 | #12 (Ссылка на пост) | ||||||||
Задержался
Пол:
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея:
0
Вес репутации: 10
|
Честно сказать я не силен в js поэтому и прошу направить на путь истинный.
|
||||||||
|
12.05.2015, 21:48 | #13 (Ссылка на пост) | |||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 6,493
Благодарили 7,331 раз в 2,872 постах
Галерея:
0
Вес репутации: 98
|
Цитата:
это все вкусовщина. уже рекомендовал в соседней ветке http://rutracker.org/forum/viewtopic.php?t=4946417 у меня хоть сервер и на рельсах, да и на яваскрипте не люблю писать (кофискрипт - наше все, оттого и рельсы), но много полезного почерпнул из MEAN.JS фрэймворка. |
|||||||||
|
13.05.2015, 20:02 | #14 (Ссылка на пост) | ||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 9,926
Благодарили 6,148 раз в 2,096 постах
Галерея:
0
Вес репутации: 82
|
вуднт тут человек магазин делает без ангуляра
__________________
|
||||||||
|
13.05.2015, 20:52 | #15 (Ссылка на пост) | ||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 6,493
Благодарили 7,331 раз в 2,872 постах
Галерея:
0
Вес репутации: 98
|
по-моему не делает, а чей-то переделывает. и я не уговариваю на энгулар, а намекаю, что с JS фрэймворками легче будет.
там вообще много странностей, типа почему абсолютеый путь для регистрации и/или логина используется. закинь такое на хероку или любой хост и уже работать не будет. понятно, что можно абсолютный, но зачем? я время от времени закидываю на хероку, исключительно чтобы убедиться, что в продакшене все хаработает. может в том и есть популярность РНР, что все можно развернуть у себя на даче с Апаче2. Почесав затылок, юзер дописал через 20 минут у меня была другая загадка, которую так и не решил. тест на логин не проходит, хотя все кажется верно написано: Код:
FactoryGirl.define do factory :user do email { Faker::Internet.email } password { Faker::Internet.password(8) } password_confirmation { password } provider "email" factory :confirmed_user do confirmed_at Time.zone.now end end end Код:
class LoginPage include Capybara::DSL def sign_in (email, password) fill_in "Email", with: email fill_in "Password", with: password find("button", text: "Sign in").click end end Код:
require 'spec_helper' feature 'Authentication', js: true do before do @user = FactoryGirl.create(:confirmed_user) visit ('/signin') @login_page = LoginPage.new @login_page.sign_in(@user.email, @user.password) end feature 'login' do scenario 'with valid data' do expect(page).to have_content('Sign out') end end end что характерно, в продакшене все отлично работает и тесты на регистрацию нормально проходят. только логин фэйл. пол дня бился, в итоге просто удилил этот спек, но в подсознании червячек засел. Почесав затылок, юзер дописал через 10 минут да, кстати, ДмитрийТ, когда постите код для посторонних заключайте его в тэги [ c o d e ] [/ c o d e] а то РНР и джаваскрипт и так не являются удобочтаемыми языками, а в когда структура пропадает, то вообще ад. Последний раз редактировалось wouldnt_even, 13.05.2015 в 20:50. |
||||||||
|
14.05.2015, 16:11 | #16 (Ссылка на пост) | ||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 6,493
Благодарили 7,331 раз в 2,872 постах
Галерея:
0
Вес репутации: 98
|
сегодня открыл для себя brunch. все вопросы сразу отпали. теперь рельсы - это прото API. а клиентская часть на кофискрипте + джэйд. то, что хотел.
|
||||||||
|
14.05.2015, 19:49 | #17 (Ссылка на пост) | ||||||||
Задержался
Пол:
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея:
0
Вес репутации: 10
|
За последние годы столько разных плагинов, фреймворков и всякого разного появилось что за всем не угонишься. Если человек- программист и регулярно этим занимается, возможно он сумеет это все понять и разложить по полкам. Для меня учить эти все фреймворки которые каждые пол года меняются это темный лес.
|
||||||||
|
15.05.2015, 17:28 | #18 (Ссылка на пост) | ||||||||
Задержался
Пол:
Адрес: Херсон
Благодарил(а): 2
Благодарили 1 раз в 1 посте
Галерея:
0
Вес репутации: 10
|
Админ! Можно закрывать тему.
|
||||||||
|
31.07.2015, 21:50 | #19 (Ссылка на пост) | |||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 6,493
Благодарили 7,331 раз в 2,872 постах
Галерея:
0
Вес репутации: 98
|
Цитата:
еше не так давно баловался с socket.io ну и невольно задался вопросом, зачем все тспользуют RESTFul pattern, если можно эти же данные по сокетам передавать, при чем в обоих направлениях, сразу же после этого натыкаюсь на Meteorjs. когда-то "рельсы" казались легким фрэймворком, на котором можно создать приложение без особых усилий... но метеор очень быстро перенял пальму первенства. Изоморфный фулл-стэк "из коробки". Просто жесть. Видимо искусственному разделению на фронт и бэк не долго осталось жить в вэб разработке. |
|||||||||
|
Здесь присутствуют: 1 (пользователей - 0 , гостей - 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
кто поможет? | modest | Радиоаматорство | 26 | 20.08.2013 10:23 |
Вакансия: Программист php, ajax, mysql, css, etc... | Numismad | Работа | 0 | 26.06.2012 11:36 |
stop Ajax request (Jquery) | kovalev | Программирование | 4 | 07.05.2009 03:53 |
КТО поможет советом | Ларик | Железяки | 40 | 12.01.2009 15:11 |
JS, DHTML, Ajax, -мастера! | ANNutka | Программирование | 15 | 29.01.2008 15:01 |