Php 客户端和Web服务器是否需要启用跨域访问?
我目前正在开发一个PC Web服务器,可以使用此代码访问我的MCU Web服务器 PC和MCU连接在同一个网络中。 每当我试图通过jquery向MCU服务器发送GET请求时,都没有得到响应。虽然我看到MCU收到了请求,但在我的PC Web服务器中没有收到响应 可能是因为我在跨域访问方面有问题吗?但是为什么呢?他们只是连接到同一个网络,对吗Php 客户端和Web服务器是否需要启用跨域访问?,php,jquery,html,ajax,cross-domain,Php,Jquery,Html,Ajax,Cross Domain,我目前正在开发一个PC Web服务器,可以使用此代码访问我的MCU Web服务器 PC和MCU连接在同一个网络中。 每当我试图通过jquery向MCU服务器发送GET请求时,都没有得到响应。虽然我看到MCU收到了请求,但在我的PC Web服务器中没有收到响应 可能是因为我在跨域访问方面有问题吗?但是为什么呢?他们只是连接到同一个网络,对吗 <!DOCTYPE html> <html> <?php header("Access-Control-Allo
<!DOCTYPE html>
<html>
<?php
header("Access-Control-Allow-Origin: *");
?>
<head>
<script src="jquery-2.0.3.min.js"></script>
<script src="jquery-1.9.1.js"></script>
<script src="jquery-ui.js"></script>
<script>$(document).ready(function()
{
$("button").click(function()
{
$.get("192.168.1.102/",function(data,status)
{
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
</head>
<body>
<button>Send an HTTP GET request to a page and get the result back</button>
</body>
</html>
$(文档).ready(函数()
{
$(“按钮”)。单击(函数()
{
$.get(“192.168.1.102/”,函数(数据、状态)
{
警报(“数据:+数据+”\n状态:+状态);
});
});
});
向页面发送HTTP GET请求并返回结果
我的MCU Web服务器没有index.html或.php文件,但在收到GET或POST请求时,它会发送字符串
以下是它发送的字符串:
#define HTTP_HEAD "HTTP/1.1 200 OK\r\n" \
"Content-Type: text/html\r\n" \
"Connection: Close\r\n" \
"Content-Length: 1121\r\n\r\n" \
"<!DOCTYPE html>" \
"<html>" \
"<head>" \
"<style>" \
"#content{color: red; font-size: 50px;top: 70px;}" \
"</style>" \
"</head>" \
"<body>" \
"<center>" \
"<div id='content'>"
#define HTTP_TAIL "</center></body></html>\r\n\r\n"
#定义HTTP\u头“HTTP/1.1 200正常\r\n”\
“内容类型:text/html\r\n”\
“连接:关闭\r\n”\
“内容长度:1121\r\n\r\n”\
"" \
"" \
"" \
"" \
“#内容{颜色:红色;字体大小:50px;顶部:70px;}”\
"" \
"" \
"" \
"" \
""
#定义HTTP\u TAIL“\r\n\r\n”
我是否也需要我的MCU Web服务器来进行跨域访问,或者只是我的PC Web服务器需要它来访问MCU Web服务器
这是我监视PC Web服务器和MCU Web服务器的结果。
MCU Web服务器响应似乎缺少其他头,因为它只在内容长度:1121处停止
为此,您还应该在客户端启用核心。
例如
谢谢你!我将尝试这样做,但现在我想与您分享我在监视GET请求来自的PC Web服务器和接收GET req的MCU Web服务器时发现的结果。[这是链接][我只是想知道为什么MCU给出的响应在内容长度为1121 hmmm时停止。。。。。
$.support.cors = true;
$.ajax({
crossDomain: true,
type: "POST",
url: "url"
}).done(function (data) {
alert(data);
});