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

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

新規登録して質問してみよう
ただいま回答率
85.48%
HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

0回答

400閲覧

$http.post時、headerに$cookieの値がセットされない。

hsh00a

総合スコア10

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

1クリップ

投稿2019/03/18 07:53

前提・実現したいこと

開発環境
monaca+onsenUI+angularJS
サーバーサイド:php
端末: ios

ログインのangularJS→php $http通信を行った際、phpから返ってきた値をcookieとして保持。
それ以降の$http通信を行う際、requestHeaderにセットして、php側での認証に使用する。

発生している問題・エラーメッセージ

ログイン時のangularJS→phpの$http.post処理では正しく値がかえってきており、
cookieの値を$cookie(ngCookie)にセットもできています。

ただ、その状態で$http.post()を行ってもcookieの値がrequestHeaderにセットされません。
そのため、status200でも、期待するresponseデータがかえって来ていない状態です。
cookieをheaderにセットするために何が必要なのでしょうか…?

angularJS

1[main.js] 2var conf = { 3 headers: { 4 'Content-type' : 'application/x-www-form-urlencoded' 5 ,'Accept' : 'application/json' 6 }, 7 transformRequest: null 8 }; 9 10/*ログインのhttp*/ 11$http.post( 12 url // ログインapiのurl 13 ,parameter 14 ,conf 15 ) .then(function(result) { 16 /* success */ 17 if(result.data.head.status == true){ 18 $cookies.put('myCookie' , result.data.data.session); /*responseの一部をcookieに保存 */ 19        /*↑ここのデータは正しく保持されている。*/ 20 }; 21 ,function(result){ 22 /* error */ 23 } 24 ); 25 26/*その次のhttp*/ 27 28$http.post( 29 url //データ検索のapiのURL 30 ,conf 31 ).then(function(result) { 32 33 /*status 200でかえって来ているが、データが取得できていない状態*/ 34} 35

angularJS

1[config.js] 2 3//configの設定 4 app.config(['$httpProvider',function($httpProvider){ 5 $httpProvider.defaults.withCredentials = true; 6 7 }])

試したこと

・withCredentials=trueの追加
・monacaデバッガー上で試しており、ビルドして試してはおりません。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問