yoou1921
@yoou1921

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Node.jsの使用方法について

解決したいこと

現在独学でjavascriptで知識0からWEBアプリを作成しています。
ワードプレス上でHTML作成したformで入力した値を送信して、
外部サイトのREST APIでGETしたJSONデータをページに返すというWEBアプリです。

GoogleChoromeの拡張機能でどうにかここで上のやり取りはうまく行くことは確認できたのですが、CORSエラーが発生します。
この外部サイトはセキュリティ上「Access-Control-Allow-Origin」ヘッダーを付与していないため、Node.jsのWEB機能を使用する、もしくはPHPなどを使用する様にとの事でした。

ワードプレスでページを作成しているためPHP等の方法は考えていなくNode.jsを用いて解決しようと考えたくさん調べたのですが、どうもどうしたら良いのが摑めませんでした。

レンタルサーバーを使用しているのでその中にNode.jsをインストールし、
ワードプレス→Node.js(レンタルサーバー)→外部サイト→Node.js(レンタルサーバー)→ワードプレス
の様な流れと理解していますが、
データを渡す流れやソースコードの保存場所等がよくわかりません。

この場でこのような質問をするのも良いのかわかりませんが、詳しい方がいらっしゃいましたら回答していただけますと幸いです。また、わかりやすい記事や、書籍などがあれば購入も検討しています。

初心者のため質問を回答するためにどの情報(ソースコード等)が必要なのかがわからないため足りない情報があればご教授ください。
何卒よろしくお願いいたします。

0

1Answer

ワードプレスでページを作成しているためPHP等の方法は考えていなく

wordprssはphpで表現してます。

一方ExpressはJavaScriptで表現してます。

CORSはドメインの異なるwordprssでiframeの中にExpressのコンテンツを表示を禁止してます。また、リンク、formによるジャンプも禁止してます。

ワードプレス上でHTML作成したformで入力した値を送信して、

webサーバーが許容するか?しないか?です。

つまり、REST APIのヘッダに
Access-Control-Allow-Origin: wordprssのurlを記述して下さい 

または、formを使わず、wordprssのphpでREST APIをGetすればCORSにひっかからないと思います。

1Like

Comments

  1. @yoou1921

    Questioner

    回答頂きありがとうございます。
    わからない単語もいくつかあったので調べならがら参考にさせていただきます。

Your answer might help someone💌