2014-02-20 95 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

相關問題