Here's the gist:
I have a call I want to make in asp, and I do not care about the response. I just want to fire the call and I do not want the page to wait for the response. According to the documentation, it should look something like this:
dim xmlhttp : set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST", url, true '' setting the 'asynchronous' option to 'true'
xmlhttp.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
xmlhttp.setRequestHeader "Content-Length", Len(XMLData)
xmlhttp.send XMLData
This works peachy when calling synchronously, but when I flip the ansynchronous option to 'true', nothing fires. What I can gather from the internet is that users do something like the following:
While xmlhttp.readyState <> 4
xmlhttp.waitForResponse 1000
Wend
Am I crazy in that this does not really seem like an asynchrous call anymore though if you are waiting for a response?
putting the line xmlhttp.waitForResponse 1
right after the send will cause the request to fire, but again, I don't want to wait a second.
Any thoughts?
Today I got the same issue. I resolved it by using "Microsoft.XMLHTTP" object.
dim xmlhttp
set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP")
xmlhttp.Open "POST", url, true
xmlhttp.Send ""
And now the request is sent asynchronously and target URL was hit. Hope that helps.