@angular_js

Страница 282 из 325
Andrey
05.07.2018
17:49:11
сделай export interface MyScope extends ng.IScope { [key: string]: any; }

Ricky
05.07.2018
17:52:02
export interface TvoyScope extends ng.IScope

Andrey
05.07.2018
17:52:11
это уже не проблема ангуляра

Google
Stas
05.07.2018
17:54:27
Ничего не понял что вы насоветовали. Какая разница откуда я делаю запрос в гугл, если он пропускает его. Проблема в том, что когда добавляется на фронте ангулярджс, гугл выдаёт ошибку заголовков. Без ангуляра никаких ошибок нет. Соответственно я делаю вывод, что до тогда как отправить запрос, мне с помощью ангуляра нужно добавить какие-то заголовки. Но я не знаю в чём проблема и гугл к сожалению тоже.

Stas
05.07.2018
17:56:26
с експрессом

Nurlan
05.07.2018
17:56:36
Добрый вечер

Stas
05.07.2018
17:56:42
я и на ноде добавлял

Nurlan
05.07.2018
17:56:50
Ангуляр не отправляет post запрос

Stas
05.07.2018
17:56:59
app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); res.setHeader('Access-Control-Allow-Credentials', true); next(); });

Nurlan
05.07.2018
17:57:03
в чем может быть проблема?

Stas
05.07.2018
17:57:35
в чем может быть проблема?
подробнее опиши плз

Nurlan
05.07.2018
17:58:00
подробнее опиши плз
Ну я просто вижу тут обсуждение идет )

чтобы код не перепутали

Google
Nurlan
05.07.2018
17:58:13
в общем вот содержимое контроллера

которые принимает данные с формы

function SingUpCtrl($http, $state) { var vm = this; vm.signup = function(){ $http.post('/api/user/signup', { email: vm.email, first_name: vm.first_name, last_name: vm.last_name, password: vm.password, password2: vm.password2} )}.success(function(data){ vm.showSignup = false; vm.showLogin =false; }).error(function(err){ vm.errors = err; }); }

Andrey
05.07.2018
17:58:39
используй три бек тика что бы выделить код

Nurlan
05.07.2018
17:59:04
то есть до ноды запрос не доходит

Andrey
05.07.2018
17:59:09
then вместо success

Nurlan
05.07.2018
17:59:10
до боди парсера

Andrey
05.07.2018
17:59:15
что в консоли

Nurlan
05.07.2018
18:00:29
ругается на ng-min.js

bad request 400

Andrey
05.07.2018
18:02:18
400 это код сервера, значит что ты не так что-то делаешь

тебе нода так отвечает

Nurlan
05.07.2018
18:02:54
получается доходит

сейчас api poые запроса с ноды скину

app.post ('/api/user/signup', function(req, res, next){ var errors = {}; if(isEmpty(req.body.email)){ errors.email = "Email field required"; } else if(!validator.isEmail(req.body.email)) { errors.email = "Email not righted неправильно введен"; } if(isEmpty(req.body.first_name)){ errors.firstName = "Name field required"; } if(isEmpty(req.body.last_name)){ errors.lastName = "Last Name required"; } if(isEmpty(req.body.password)){ errors.password = "Password field required"; } else if(!validator.isLength(req.body.password, {min:6, max: 30})) { errors.password = "Password must be from 6 to 30 symbols"; } if(isEmpty(req.body.password2)){ errors.password2 = "Password field required"; } else if(req.body.password !== req.body.password2) { errors.password2 = "Password не равны"; } if (isEmpty(errors)){ new User({email:req.body.email, first_name:req.body.first_name, last_name : req.body.last_name, password : req.body.password, password2 : req.body.password2 }).save(function(err, user){ console.log(req.body); if(err) return res.status(400).send({msg: 'Error please send support'}); res.status(200).send(user); }) } else { res.status(400).send(errors); } })

Andrey
05.07.2018
18:04:33
я же говорил что бы код выделял тремя бектиками, сверху и снизу

res.status(400).send(errors); вот что тебе отвечает, у тебя валидацию не проходит

Nurlan
05.07.2018
18:04:55
извинясь что такое бэктик

Andrey
05.07.2018
18:05:04
```

Google
Andrey
05.07.2018
18:05:06
```

Nurlan
05.07.2018
18:05:06
я нуб просто еще

Andrey
05.07.2018
18:05:16
code

Nurlan
05.07.2018
18:05:19
извините исправлюсь

Andrey
05.07.2018
18:05:33
одинарные бектики если 1 строка если много строк тремя бектиками выделять

загуглите телеграм разметку markdown

Ricky
05.07.2018
18:47:50
Спасибо, поинтересуюсь
у тебя какая ОС и какой браузер??

Stas
05.07.2018
19:36:43
у тебя какая ОС и какой браузер??
Пишу на винде 7, есть винда 10 и убунту. Это может быть как то связано?

Stas
05.07.2018
19:37:44
а браузер?
Хром,мазила,опера. Проверял в хроме и мазиле

Ricky
05.07.2018
19:39:33
1. если хром то отключи секурити в cmd chrome.exe --disable-web-security

Ricky
05.07.2018
19:41:42
2. установи плагин https://chrome.google.com/webstore/detail/cors-toggle/jioikioepegflmdnbocfhgmpmopmjkim?utm_source=chrome-app-launcher-info-dialog

Andrey
05.07.2018
20:01:05
CORS проблемы сервака ибо не настроено, все что говорите что это пробелма фронта - сивой кобыли бред

Mixer
05.07.2018
20:35:26
Показали бы заголовки. Там в браузере вообще ругаться начинает на CORS если что не так - в консоли. Мол была прервана передача содержимого с левого сервера и все в таком духе.

Remite
05.07.2018
21:11:38
CORS проблемы сервака ибо не настроено, все что говорите что это пробелма фронта - сивой кобыли бред
в смысле бред, само по себе понятия корсов возникает именно в браузере а не на сервере

То что браузер не устраивают заголовки которые раздает сервак - проблема браузера

Mixer
05.07.2018
21:20:14
CORS это стандарт безопасности. Без правильных заголовков от сервера - атата будет делать браузер. Любой.

Google
Stas
05.07.2018
21:45:15
1. если хром то отключи секурити в cmd chrome.exe --disable-web-security
возник вопрос, если я у себя это сделаю, то пользователь с другого пк тоже самое должен делать?

То что браузер не устраивают заголовки которые раздает сервак - проблема браузера
Так а как так получается что один и тот же код с ангуляром и без по разному обрабатывается? Значит в ангуляре этих заголовков нет или они другие. Верно?

Stas
05.07.2018
21:51:42
Если б я знал что именно нужно показывать... Есть вариант подключения через тим вивер или просто кидать весь путь прохождения запроса?

это сервис на ангуляре, который делает запрос в апи let loginGoogle = () => { return $http.get(`/api/auth/google`, { cache: false, headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS, PUT, PATCH, DELETE', 'Access-Control-Allow-Headers': 'X-Requested-With,content-type', 'Access-Control-Allow-Credentials': true }}); };

вот в апи запуск паспорта router.get('/auth/google', passport.authenticate('google', { scope : ['profile', 'email', 'openid'] }));

Artem
05.07.2018
22:09:36
Помогите пожалуйста - https://codepen.io/verbart/pen/jKRmYz?editors=1010

Stas
05.07.2018
22:09:44
вот гугл стратегия в паспорте passport.use(new GoogleStrategy({ callbackURL: '/api/auth/google/redirect', clientID: keys.google.clientID, clientSecret: keys.google.clientSecret }, (accessToken, refreshToken, profile, done) => { console.log(profile); } ));

вот этот кусок в сервисе работает, но в новом окне, что не вариант let loginGoogle = function() { window.open('/api/auth/google','','width=400,height=400'); };

могу скрины заголовков покидать, если объясните что именно нужно

Stas
05.07.2018
22:55:50
Remite
05.07.2018
22:56:06
Ну эти заголовки с фронта на бек ничего не делают

Можно уточнить Вы делаете запрос с нг на Вашу ноду с ноды званите на гугл и при необходимости отображаете окно авторизации для гугла ага?

ато я пропустил большую часть диалога

Stas
05.07.2018
22:56:58
Ну эти заголовки с фронта на бек ничего не делают
мне помогли, когда я делал загрузку файла, без заголовка с фронта не пропускало

Remite
05.07.2018
22:58:08
И после ответа с ВАШЕЙ ноды вы пытаетесь отобразить в модальном окне форму из гугла, но получаете ошибку корс

Google
Remite
05.07.2018
22:58:09
ага?

Stas
05.07.2018
22:58:20
нет

Remite
05.07.2018
22:58:48
Stas
05.07.2018
22:59:13
как раз в новом окне выдаёт форму входа, а мне нужно что б сделало редирект на форму, а потом если человек авторизировался, перенаправить

получается что когда я перехожу в новое окно я вижу форму, а когда просто делаю запрос выдаёт ошибку заголовков

Remite
05.07.2018
23:00:50
Вы делаете запрос на енд поинт гугла для эмитации авторизации?

Stas
05.07.2018
23:01:06
да

ну у меня есть локальная регистрация и теперь добавляю вход через соц сети

Remite
05.07.2018
23:01:37
с фронта ? Делайте етот запрос из ноды :))

Stas
05.07.2018
23:02:01
не, запрос в гугл идёт из нода

с фронта я просто передаю инфу что нужно сделать запрос, не более

Remite
05.07.2018
23:02:31
Так, я понял шо ниче не понял.

Stas
05.07.2018
23:02:43
я вот убрал заголовки в ангуляре, получил ошибку)

Failed to load https://accounts.google.com/o/oauth2/v2/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fapi%2Fauth%2Fgoogle%2Fredirect&scope=profile%20email%20openid&client_id=1060656164349-rpch2ibsm97k8kkc390bbv5m419g0g4h.apps.googleusercontent.com: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.

Так, я понял шо ниче не понял.
у меня с этим входом через гугл примерно так же

вот сам запрос в гугл отправляет паспорт

а он находится на беке

где можно глянуть заголовки?

я посмотрю в чём разница

Страница 282 из 325