C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

javascriptプログラムをVB.NETに移植

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■102845 / inTopicNo.1)  javascriptプログラムをVB.NETに移植
  
□投稿者/ かむら (1回)-(2024/01/15(Mon) 18:05:15)

分類:[VB.NET/VB2005 以降] 

【開発環境】
Microsoft Visual Studio Community 2022 (64 ビット)
Visual Basic ツール 4.7.0-3
.NET 7.0

下記のjavascriptプログラムをVB.NETに移植したいのですが、
XMLHttpRequestオブジェクトに該当するVB.NETのオブジェクトがわからず困っています。
申し訳ありませんがアドバイスをお願い致します。

【Javascriptプログラム】
body = {
// JSON形式データ
};
var xmlHttp = new XMLHttpRequest();
xmlHttp.open('POST','https://適当なURL');
// HTTP リクエストヘッダーに設定
// API トークン
xmlHttp.setRequestHeader('API-Token', <Base64 エンコード値>);
// コンテンツタイプ
xmlHttp.setRequestHeader('Content-Type', 'application/json');
xmlHttp.onload = function() {
if (xmlHttp.status === 200) {
// 200 OK 時の処理内容
} else {
// エラー時の処理内容
}
};
xmlHttp.send(JSON.stringify(body));

引用返信 編集キー/
■102846 / inTopicNo.2)  Re[1]: javascriptプログラムをVB.NETに移植
□投稿者/ WebSurfer (2874回)-(2024/01/15(Mon) 18:13:51)
No102845 (かむら さん) に返信

> XMLHttpRequestオブジェクトに該当するVB.NETのオブジェクト

そういうのは ,NET のライブラリには無いです。

XMLHttpRequest はブラウザに実装されているもので javascript を使って
非同期で(ajax で)Web サーバーに要求を出して応答を処理するためのも
のです。

VB.NET で何を作っているのか書いてないのでわかりませんが(そういうこ
とは最初の質問にちゃんと書きましょうね)、例えば Windows Forms アプ
リで Web API に要求を出して応答をアプリに反映したいということなら、
HttpClient を使ってみてください。
引用返信 編集キー/
■102847 / inTopicNo.3)  Re[1]: javascriptプログラムをVB.NETに移植
□投稿者/ WebSurfer (2875回)-(2024/01/15(Mon) 18:32:27)
No102845 (かむら さん) に返信

Windows Forms アプリから Web API に HttpClient を使ってアクセスし、認証
トークンを取得して (これは質問者さんのケースと関係なければスルーしてくだ
さい)、JSON 形式のデータを POST 送信し、応答を表示するサンプルを紹介して
おきます。

HttpClient で ASP.NET Web API にアクセス
http://surferonwww.info/BlogEngine/post/2019/09/29/call-aspnet-web-api-from-httpclien.aspx

デシリアライズに使っているコードは古いので、そこは System.Text.Json の
デシリアライザを使ってください。
引用返信 編集キー/
■102858 / inTopicNo.4)  Re[2]: javascriptプログラムをVB.NETに移植
□投稿者/ かむら (2回)-(2024/01/16(Tue) 17:41:00)
ありがとうございます。
認証トークン関係は不要だったので飛ばして、生成したJSONデータをPOST送信するところのみを抜き出して試したところうまく行きました。
わかりやすいコード例の紹介、大変助かりました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ