2012-05-14 7 views
0

Так что я пытаюсь создать веб-страницу, которая запускает локальные приложения через клиента.Cross Domain post Javascript

Упрощенное решение, о котором я могу думать, это просто публикация или получение данных в порт, который я хочу использовать; скажем, порт 3000. К несчастью, я столкнулся с ошибкой: XMLHttpRequest cannot load %3127.0.0.1:3000. Cross origin requests are only supported for HTTP.

Мой вопрос: Есть ли способ опубликовать или получить данные до 127.0.0.1:3000 с помощью XMLHttpRequest()?

извините за беспорядок форматирования, я играл с ним в течение длительного времени, и я не мог заставить его правильно отступа 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); 
} 
} 

ответ

2

Да, с оговорками. Ваша первая проблема заключается в том, что вам нужно использовать HTTP или HTTPS. Вам нужна схема вашего URI (или вам нужно запустить ее с // для поддержания текущей схемы, что неразумно, если вы нажмете на определенный порт).

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

Сервер работает на порту 3000 должен дать разрешение на сайт с помощью CORS. Пользователь также должен быть оснащен browser that supports CORS.

+0

Возможно, это то, что я ищу. Он также не будет браузером, который получает данные, это всего лишь клиентское приложение, которое будет анализировать то, что он получает. Я тоже это напишу. – Ignoreme