前提
各種サイトにあるデバッグ方法のポート番号によるアドレスの記述だと、ページの表示とjava scriptの実行はされますがphpだけが実行されません。
Local host のポート番号の部分のみフォルダ名にするとPHPが動作します。
localhost:5500/dist/index.html →PHP動作しない
localhost/chari/dist/index.html →PHP動作する
どちらもmampは起動しています。
環境はmac, mamp, vscode(live server, php server)です。
phpがサーバ上でしか動作しないことは認識していますが、mamp(apache)を起動しているのでlocalhost:5500でも実行できると思っていました。
実現したいこと
- デバッグ時のアドレスはポート番号ではなくフォルダ名でもよいのか知りたい。
- ポート番号とフォルダ(vscodeではプロジェクト?)の関係を知りたい。
発生している問題・エラーメッセージ
該当のソースコード
JavaScript
1 // @param {string} no リンク番号 2 // @param {object} prm {setType: string , cnctType: string, mkr: string, mdl: string, year: string} 3 4 5export async function getDataFromPHP(no, prm) { 6 let url; 7 if (prm["cnctType"] === "dev") { 8 url = "../dist/php/getGeo.php"; 9 } else { 10 url = "../php/getGeo.php"; 11 } 12 13 //URLSearchParamsは連想配列からクエリパラメータを作成してくれるAPI 14 // const qPrm = new URLSearchParams(prm); 15 16 //method:GETはパラメータを送らずにURLからデータを取得するだけ > パラメータがないのでbodyがない 17 //method:POSTはパラメータを送って処理を実施後にURLから処理後のデータを取得する > パラメータがあるのでbodyが必須 18 const params = {### ヘディングのテキスト 19 method: "POST", 20 headers: { 21 "Content-Type": "application/json", 22 }, 23 body: JSON.stringify(prm), 24 }; 25 26 //awaitでpromiseが返ってくるのを待つ 27 // const res = await fetch(`${url}?${qPrm}`).catch((err) => console.log(err)); 28 const res = await fetch(url, params).catch((err) => console.log(err)); 29 // console.log(res.text()); //Promisseの結果を表示、詳細なエラーが分かる 30 const values = await res.json().catch((err) => console.log(err)); //今回のエラー発生箇所 31 // console.log(values); 32 setDataToMakerModel(prm["setType"], no, values); 33 if (prm["setType"] === "geometry") { 34 setDataToSize($("#size-table > tr"), no, values); 35 } 36}
フォルダ構成
ページ表示 localhost:5500
ページ表示 localhost/chari
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
mac, vscode, mamp

回答1件
あなたの回答
tips
プレビュー