2014-02-20 65 views
0

我目前正在开发一个PC网络服务器,使用此代码访问我的MCU网络服务器。客户端和Web服务器是否需要启用跨域访问?

PC和MCU连接在同一个网络中。 每当我尝试通过jquery发送GET请求到我的MCU服务器时,我都没有回应。虽然我看到请求是在MCU上收到的,但我的PC网络服务器没有收到任何响应。

难道是因为我有关于跨域访问的问题吗?但为什么?他们只是连接到相同的网络?

<!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> 

我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" 

难道我还需要我的MCU webserve有跨域访问,或只是我的电脑网络服务器需要它来访问Web服务器MCU?

这是我对监控PC网络服务器和MCU网络服务器的结果。 的MCU Web服务器响应似乎缺乏其他标题,因为它只是停止在Content-length: 1121

1

回答

0

的,你应该能够在客户端内核为好。 示例,

$.support.cors = true; 
    $.ajax({ 
     crossDomain: true, 
     type: "POST", 
     url: "url" 

    }).done(function (data) { 
     alert(data); 
    }); 
+0

Thanks Anoop!我会尝试一下,但现在我想分享一下在监控GET请求来源的PC网络服务器和收到GET请求的MCU网络服务器时发现的结果。 [这里是链接] [http://i149.photobucket.com/albums/s48/vash1102/guide/debug_zpsea78cafd.png?t=1392896863] 我只是想知道为什么MCU给出的响应停止在内容长度:1121嗯..... – nciacrklo

相关问题