我是网络编程的新手。
我现在有点卡住和迷路了。
可以说我有一个内容服务器(视频)。客户端从服务器请求视频,并且html页面在客户端的Web浏览器上显示视频。同时,必须将来自客户端的某些数据发送到充当网络监视器的另一台计算机-可以说它有一个数据库,数据将存储在该数据库中。

我的问题是:

1.假设我正在使用JavaScript来获取数据(即IP地址),如何将这些数据发送到网络监视器?或者,如果不可能,还有其他方法吗?

2.如何构建网络监视器?

我确实需要一些提示和技巧来启动并确保我学习正确的东西。任何有用的链接也将不胜感激。

谢谢! = D

最佳答案

您可以使用form将数据发送到所需的任何服务器,并将其提交到使用action设置的URL。

<html>
<head></head>
<body>
    <form action="http://the-other-server.com" method="post" target="theIframe">
        <input type="hidden" name="data" value="{your:'data_here'}" />
    </form>
    <iframe name="theIframe" style="display:none"></iframe>
    <script>
        document.getElementsByTagName('FORM')[0].submit();
    </script>
</body>
</html>


但是SOP阻止您从另一台服务器(具有不同协议,子域,域或端口)读取信息。例如,获取上述POST的响应。

要读取另一个域的内容,您需要使用一种称为JSONP的技术

编辑:或者,如果您定位现代浏览器(> IE8),则可以使用另一个来源的parent.postMessage中的iframe与主页交换字符串数据。

最后,如果必须支持较旧的浏览器,您仍然可以使用window.name Transport hack通过window.nameiframe属性传递数据

10-06 07:27
查看更多