ホームページ > PHPフレームワーク > ThinkPHP > Thinkphpとvueの共同開発でThinkphpの設定問題を解決

Thinkphpとvueの共同開発でThinkphpの設定問題を解決

藏色散人
リリース: 2020-08-06 13:22:55
転載
4007 人が閲覧しました

次の thinkphp フレームワーク のチュートリアル コラムでは、Thinkphp と vue の共同開発における Thinkphp の設定の問題について紹介します。

Thinkphpとvueの共同開発でThinkphpの設定問題を解決

Thinkphpvue との共同開発における Thinkphp の構成の問題:

1. Thinkphp はデフォルトで json 形式でデータを返します

(1) グローバル設定 - Thinkphp 構成ファイル config.php を変更します:

'default_return_type'    => 'json',
ログイン後にコピー

default_return_type 属性のデフォルト値が 'html' の場合、それを 'json' に変更すると、コントローラー メソッドで直接返されるデータは json 形式になります。グローバル設定は、システム内のすべての「操作」に対して有効です。

(2) 別途設定 - 「操作」では、return json(array, 404) を介してデータを返します (最初のパラメーターは配列またはオブジェクト、2 番目のパラメーターはステータス コードです)。

return json(['name' => 'thinkphp','status' => '1'], 200);
ログイン後にコピー

出力データ (グローバル設定出力と個別設定出力の結果は同じです):

{"name":"thinkphp","status":"1"}
ログイン後にコピー

2. Vue リクエストのクロスドメインの問題

フロントエンドとバックエンドが分離されている場合、axios 経由で直接リクエストすると、vue はクロスドメインの問題に遭遇します: リクエストされたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。

Thinkphpとvueの共同開発でThinkphpの設定問題を解決

#「Operation」にリクエスト ヘッダーを設定する必要があります。

header('Access-Control-Allow-Origin: *')
ログイン後にコピー
次のように、それをコピーして「Operation」の最初の行に貼り付けます。 this:

Thinkphpとvueの共同開発でThinkphpの設定問題を解決

axios を介してこの「操作」を接続すると、クロスドメイン制限を求めるプロンプトは表示されません。

Thinkphpとvueの共同開発でThinkphpの設定問題を解決

以上がThinkphpとvueの共同開発でThinkphpの設定問題を解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート