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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

解決済

1回答

1986閲覧

フロントサイドからサーバーサイドのExpressで作成したpatchメソッドに接続する方法

noggy

総合スコア3

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

0クリップ

投稿2020/11/14 17:21

expressを用いてAPIの開発を行っています。
現在、req.body(JSONの想定)にてデータを修正する
app.patchのメソッドは作成が完了しており、
insomniaなどでの動作確認は完了しています。

js

1 app.patch("/update/:id", async function (req, res) { 2 ... 3});

また、req.bodyのデータを登録するpostも同様に作成しており、
その疎通は完了しています。

js

1 app.post("/create", async function (req, res) { 2 ... 3});

html

1<script> 2 let xhr=new XMLHttpRequest(); 3 let exp = new Object(); 4 exp= { 5 JSONのデータ 6 }; 7 let result=document.getElementById('result'); 8 xhr.open("post", "http://localhost:3000/create",true); 9 xhr.setRequestHeader('content-type', 'application/json; charset=utf-8'); 10 x.send(JSON.stringify(exp)); 11</script>

いくつかのサイトを検索し、下記の修正を行ったのですが
サーバ側のログを見る限りでは、そもそも
上記jsのメソッドまで到達していないようです。

html

1<script> 2 xhr.open("patch", "http://localhost:3000/update",true); 3</script>

patch→putであれば上手くいくのですが、
app.patchを機能させたいと思っております。
二つ質問させてください。

①XMLHttpRequestでapp.patchに接続する方法はないででしょうか?
②XMLHttpRequestを使用せずにjsを用いてapp.patchに接続する方法があれば教えてください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

XMLHttpRequestは今時使わないです
fetch使いましょう

(async ()=>{ const response = await fetch('http://localhost:3000/update', {'method': 'patch', body: JSON.stringify(data), headers:{ 'Content-Type': 'application/json' }, } ); console.log(response); })();

同一ドメインでない場合は他にも設定が必要です。

投稿2020/11/14 17:41

hentaiman

総合スコア6421

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問