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 に答える