我尝试使用以下代码向局域网上的Arduino以太网微控制器发送命令:
Dim request As HttpWebRequest = HttpWebRequest.Create("http://192.178.47.19:19/?r=")
Dim POST As String = "r1"
request.Method = "POST"
request.ContentType = "text/html"
request.Headers.Add("Access-Control-Allow-Origin: *")
request.ContentLength = POST.Length
request.KeepAlive = True
Dim requestStream As Stream = request.GetRequestStream()
Dim postBytes As Byte() = Encoding.ASCII.GetBytes(POST)
requestStream.Write(postBytes, 0, postBytes.Length)
requestStream.Close()
然而,我得到的错误在线:
Dim requestStream As Stream = request.GetRequestStream()
说:
- 基础连接已关闭:连接意外关闭。*
仅使用jQuery和 AJAX :
jQuery.support.cors = true;
$.ajax({
crossDomain: true,
async : true,
type: "POST",
headers: {'Access-Control-Allow-Origin': '*'},
url: "http://192.178.47.19:19/?r=" + whatsBeingSent,
data: '{}',
contentType: "text/html",
dataType: "html",
success: OnSuccessCallArduino,
error: OnErrorCallArduino
});
使用上面的代码就可以了(当然是在浏览器内部)
那么,为了让它在www.example.com中工作,我会错过什么VB.net?
1条答案
按热度按时间eyh26e7m1#
我也有类似的问题。我在浏览器客户端使用jQuery AJAX 调用来访问一个aspx文件,该文件运行一个生成WebRequest响应的函数。这通常没有问题。但是,如果该函数使用WebRequest访问不同的服务器,响应是好的,但永远不会返回到原始AJAX调用,应用程序挂起。
浏览器 AJAX :
WSProfile.Aspx:
对另一个URL的调用会返回响应,但是对
.aspx
文件的原始调用的Response.Write不会将数据返回给 AJAX 调用。