Java Script Java SocketServer Integration

Java Script Java SocketServer Integration

本文关键字:Java Integration Script SocketServer      更新时间:2023-09-26

我有JavaScript代码,它向小型java套接字程序发送请求,当Small Java代码在diffrenr域中运行时,JavaScript代码在域中的Jav EE应用程序中运行。现在我想发送请求,然后从小程序接收响应,但我在浏览器FireFox:上遇到错误

"跨来源请求被阻止:同源策略不允许在""读取远程资源

其中当我从IE运行代码时。。它还可以

java脚本代码

<script type="text/javascript">
   //  <!--//--><![CDATA[//><!--
                var getJSON = function (url, successHandler, errorHandler) {
                    var xhr = new XMLHttpRequest();
                    if (window.XMLHttpRequest) {
                        xhr = new XMLHttpRequest();
                    }
                    if (typeof XMLHttpRequest === "undefined")
                        XMLHttpRequest = function () {
                            try {
                                return new ActiveXObject("Msxml2.XMLHTTP.6.0");
                            }
                            catch (e) {
                            }
                            try {
                                return new ActiveXObject("Msxml2.XMLHTTP.3.0");
                            }
                            catch (e) {
                            }
                            try {
                                return new ActiveXObject("Msxml2.XMLHTTP");
                            }
                            catch (e) {
                            }
                            throw new Error("This browser does not support XMLHttpRequest.");
                        };
                    xhr.open('get', url, true);
                    xhr.setRequestHeader("Cache-Control", "no-cache");
                    xhr.onreadystatechange = function () {
                        var data;
                        if (xhr.readyState === 4) { 
                            if (xhr.status === 200) {
                                data = JSON.parse(xhr.responseText);

                                var imgDoc = document.getElementById("search_sources_form:image");
                                imgDoc.value = data['img'];
                                remoteChangeCommand();
                                xhr.abort();
                            }
                        }
                    };
                    xhr.send();
                };
                function scanData() {
                    getJSON('http://10.0.10.59:2000/image=1;', function (data) {
                        alert('Your public IP address is: ' + data);
                    }, function (status) {
                        alert('Something went wrong.');
                    });
                }

为正在阻止的域启用跨源请求,它就会工作。

以下示例取自html5boilerplate的apache服务器配置。有关详细信息,请访问链接。

# ----------------------------------------------------------------------
# | Cross-origin requests                                              |
# ----------------------------------------------------------------------
# Allow cross-origin requests.
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
# http://enable-cors.org/
# http://www.w3.org/TR/cors/
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "http://example.com/"
</IfModule>