質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ionic

Ionicは、クロスプラットフォームに対応したモバイルアプリ開発のためのオープンソースUIフレームワークです。iOSやAndroid、Webのアプリケーションを1つのコードベースで開発できます。

Angular

Angularは、JavaScriptフレームワークです。AngularJSの後継であり、TypeScriptベースで実装されています。機能ごとに実装を分けやすく、コードの見通しが良いコンポーネント指向です。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

1775閲覧

IonicのHTTP通信で422エラーが出る

dauto

総合スコア38

Ionic

Ionicは、クロスプラットフォームに対応したモバイルアプリ開発のためのオープンソースUIフレームワークです。iOSやAndroid、Webのアプリケーションを1つのコードベースで開発できます。

Angular

Angularは、JavaScriptフレームワークです。AngularJSの後継であり、TypeScriptベースで実装されています。機能ごとに実装を分けやすく、コードの見通しが良いコンポーネント指向です。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

2クリップ

投稿2019/06/20 17:41

編集2019/06/21 08:38

前回の404エラーの質問から続けての投稿になります。
Ionicのログイン機能をFlicher Blog様のフロントエンドの実装方法バックエンドの実装方法実装しているのですが、422エラーが表示されデータを送信することが出来ません。
自分では原因を特定できなかったのですが、どのあたりが原因と考えられるでしょうか。

エラーコード

console

1POST http://ドメイン/Laravel-ionic/public/api/auth/register 422 (Unprocessable Entity)

エラーに関連すると思われるコード

auth.service.ts

TypeScript

1import { HttpClient, HttpHeaders } from '@angular/common/http'; 2import { Injectable } from '@angular/core'; 3import { tap } from 'rxjs/operators'; 4import { NativeStorage } from '@ionic-native/native-storage/ngx'; 5import { EnvService } from './env.service'; 6import { User } from '../models/user'; 7@Injectable({ 8 providedIn: 'root' 9}) 10export class AuthService { 11 isLoggedIn = false; 12 token:any; 13 constructor( 14 private http: HttpClient, 15 private storage: NativeStorage, 16 private env: EnvService, 17 ) { } 18 login(email: String, password: String) { 19 return this.http.post(this.env.API_URL + 'auth/login', 20 {email: email, password: password} 21 ).pipe( 22 tap(token => { 23 this.storage.setItem('token', token) 24 .then( 25 () => { 26 console.log('Token Stored'); 27 }, 28 error => console.error('Error storing item', error) 29 ); 30 this.token = token; 31 this.isLoggedIn = true; 32 return token; 33 }), 34 ); 35 } 36 register(fName: String, lName: String, email: String, password: String) { 37 return this.http.post(this.env.API_URL + 'auth/register', 38 {fName: fName, lName: lName, email: email, password: password} 39 ) 40 } 41 logout() { 42 const headers = new HttpHeaders({ 43 'Authorization': this.token["token_type"]+" "+this.token["access_token"] 44 }); 45 return this.http.get(this.env.API_URL + 'auth/logout', { headers: headers }) 46 .pipe( 47 tap(data => { 48 this.storage.remove("token"); 49 this.isLoggedIn = false; 50 delete this.token; 51 return data; 52 }) 53 ) 54 } 55 user() { 56 const headers = new HttpHeaders({ 57 'Authorization': this.token["token_type"]+" "+this.token["access_token"] 58 }); 59 return this.http.get<User>(this.env.API_URL + 'auth/user', { headers: headers }) 60 .pipe( 61 tap(user => { 62 return user; 63 }) 64 ) 65 } 66 getToken() { 67 return this.storage.getItem('token').then( 68 data => { 69 this.token = data; 70 if(this.token != null) { 71 this.isLoggedIn=true; 72 } else { 73 this.isLoggedIn=false; 74 } 75 }, 76 error => { 77 this.token = null; 78 this.isLoggedIn=false; 79 } 80 ); 81 } 82}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こちらLaravelの課題なので、Laravelタグもつけられるといいかと思いますー!

よくあるPHPの事例としてはフロントエンドから $_POST でデータを受け取れないため、先に

if (isset($_SERVER['REQUEST_METHOD']) and $_SERVER['REQUEST_METHOD'] == 'POST') { $postdata = file_get_contents("php://input"); $request = json_decode($postdata,true); if(count($request) > 0) $_POST = $request; }

みたいな形でphp://inputから値をとって$_POSTにいれておかないといけないというトラブルがありますが、Laravelには詳しくないため該当するかどうか不明です。Laravelに詳しい方にお聞きくださいー!

投稿2019/06/21 01:30

rdlabo

総合スコア448

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dauto

2019/06/21 10:40

ご返信ありがとうございます。 ご指摘頂いたLaravelのタグを先程追加しました。 送信先のURLに飛んだ所、Laravelの405エラーが出ていました。 このエラーが原因だと思われるので、先にそちらを解決してみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問