0

所以我正在尝试制作一个网页,通过客户端启动本地应用程序。

我能想到的最简单的解决方案就是将数据发布或获取到我想要使用的端口;说端口 3000。不幸的是,我遇到了一个错误:XMLHttpRequest cannot load %3127.0.0.1:3000. Cross origin requests are only supported for HTTP.

我的问题:有没有办法使用 XMLHttpRequest() 将数据发布或获取到 127.0.0.1:3000?

对格式混乱感到抱歉,我玩了很长时间,但无法正确缩进 D:

function Post_Command(Command_String){
if(typeof(Command_String) != "string"){
 console.log(
    "Invalid Call:\Post_Command(\n\t"+Command_String+":"+typeof(Command_String)+"\n)"
);
} else {
    xmlhttp=new XMLHttpRequest();
    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
            console.log(xmlhttp.responseText);
        }
    }
    xmlhttp.open(
        "POST",
        "127.0.0.1:3000",
        true
    );
    xmlhttp.send(Command_String);
}
}
4

1 回答 1

2

是的,有附带条件。您的第一个问题是您必须使用 HTTP 或 HTTPS。您的 URI 上需要一个方案(或者您需要启动它//以维护当前方案,如果您正在访问特定端口,这是不明智的)。

"127.0.0.1:3000" --> "http://127.0.0.1:3000"

在端口 3000 上运行的服务器需要使用CORS向该站点授予权限。用户还必须配备支持 CORS 的浏览器

于 2012-05-14T15:44:30.347 回答