1

以下の関数を呼び出すと、応答は期待どおりに 1 回書き込まれます (関数の最後の行)。

しかし、投稿先の Web サイトの API ロガーでは、2 つの投稿が表示されます。それだけでなく、最初の投稿に認証ヘッダーがありません。

誰かがこのコードを見て、私が何かばかげたことをしていないか教えてくれませんか?

private function PostToWebsite(data, url)
    Dim  httpRequest, postResponse
    Set httpRequest = Server.CreateObject("MSXML2.ServerXMLHTTP")
    httpRequest.Open "POST", url, False, "un", "pw"
    httpRequest.SetRequestHeader "Content-Type", "application/json"     
    httpRequest.setRequestHeader "Content-Length", len(data)
    httpRequest.Send data
    if httpRequest.status = 201 then    
        PostToWebsite = "ok/" & httpRequest.getResponseHeader("Location")
    elseif httpRequest.status = 400 then
        PostToWebsite= "error/Http 400 error: " & httpRequest.responseText 
    elseif httpRequest.status = 401 then 
        PostToWebsite= "error/Http 401 error: " & httpRequest.responseText 
    else    
        PostToWebsite= "error/Unknown status in PostToWebsite"
    end if
    Set httpRequest = nothing

    RESPONSE.WRITE  PostToWebsite   'this line writes only once

end function
4

1 に答える 1

1

JSON ペイロードからカンマが欠落していることが判明しました。私がそれを修正したら、それはうまくいきました。

私の新しい質問は次のとおりです。なぜ、失敗した単一の投稿ではなく、二重の投稿が生成されるのでしょうか?!

于 2013-07-31T14:58:55.960 に答える