POSTされたデータをサーバ側でソケット通信する

通常、ブラウザでボタンが押されPOSTされた場合、サーバ側プログラムが呼び出された場合、サーバ側プログラムでデータ更新などをし、POST先(action)に遷移します。

この際に、サーバ側プログラムから別のプログラムを呼び出し、結果を受け取ってからPOST先に遷移したい場合、ソケット通知を使います。


Set objXmlHttp = Server.CreateObject("MSXML2.XMLHTTP")

objXmlHttp.Open "POST", "https://aaa.bbb.ccc/ddd.asp", False
objXmlHttp.setRequestHeader "Content-Type","application/json"
objXmlHttp.send strPostData

If objXmlHttp.readyState = 4 And objXmlHttp.Status = 200 Then
    Response.Write objXmlHttp.responseText
End If

上記の例では、サーバ側で
https://aaa.bbb.ccc/ddd.asp
にソケット通知し、結果を取得します。

readyState=4 かつ status=200の場合、正常受信と判断できます。

受信データをjsonで受け取る場合は、下記のように処理することによりjsonの項目名を指定して値を取得できます。


Set json = obj.CodeObject.jsonParse(objXmlHttp.responseText)

strId= obj.CodeObject.getId(json)

jsonの処理については別のセクションで解説します。

おすすめの記事