Я должен отправить запрос Ajax к, например, порт 8080, куда демон работает туда.
Вы не можете Post
Информационный перекрестный домен, поддомен или номер порта. Однако вы можете использовать JSONP, если у вас есть доступ к демону , так и запрашивающий сайт. Если данные должны быть возвращены, то демон
должен поддерживать параметр Callback
, и вернуть его правильно отформатированным.
Передайте информацию к демону:
$.getJSON('http://domain.com:8080/url/here?callback=?', {
key: 'value',
otherKey: 'otherValue'
}, function(data){
// Handles the callback when the data returns
});
Теперь просто убедитесь, что ваш демон обрабатывает обратный вызов
. Например, если Callback = MyCallback
Возврат от демона (единственное, что записано на страницу), должна выглядеть так:
для пар клавиши / значения:
mycallback( {'returnkey':'returnvalue', 'other':'data' });
для массива:
mycallback( [1,2,3] );
Если у вас нет JSONP или аналогичного механизма на месте, вы не можете обмениваться пересеченным доменом, используя jQuery.
Это разрывает политику . Вы не можете использовать другой порт, даже при использовании того же домена.
Вы можете использовать JSONP AS Doug .
Или иначе, как еще один возможный обходной путь, вы можете создать очень простое обратный прокси (с использованием MOD_PROXY , если вы находитесь в Apache). Это позволит вам использовать относительные пути в вашем запросе AJAX, а HTTP-сервер будет действовать как прокси-сервер в любое «удаленное» местоположение.
Фундаментальная директива конфигурации для настройки обратного прокси в MOD_PROXY - проксипасс. Вы обычно используете его следующим образом:
ProxyPass /ajax/ http://www.localhost:8080/
В этом случае вы бы запрос /ajax/test.xml
с jQuery, но на самом деле сервер будет служить этому, действуя как прокси-сервер для http: //www.localhost: 8080 / test.xml
Внутри.
Если вы используете IIS, вы можете использовать функцию Управляемого Rewriter URL-URL-адреса и обратный прокси для настройки обратного прокси.
Это относится к другому происхождению, даже если у вас его на одном поле, просто другой порт.
Если вы нацеливаете в основном новые браузеры, такие как Firefox 3.5 и up, вы можете попытаться добавить элементы управления доступ
к вашему приложению в другом порту и разрешить звонить из пула приложения по умолчанию. Информация о ходах управления доступом можно найти здесь: https://developer.mozilla.org/en/http_access_Control
IE также реализует его (опять же, используя другой элемент управления ActiveX, почему так?): http://blogs.msdn.com/ie/archive/2009/01/14/Completing-access-Control-support-for-xdomainrequest.aspx и http://msdn.microsoft.com /en-us/library/cc288060(vs.85).aspx