Я хотел бы сделать вызов ajax на другой сервер (тот же домен и ящик, просто другой порт). например
Моя страница
http://localhost/index.html
Я хотел бы сделать запрос ajax на получение:
http://localhost:7076/?word=foo
Я получаю эту ошибку:
Access to restricted URI denied (NS_ERROR_DOM_BAD_URI)
Я знаю, что вы не можете сделать запрос ajax в другой домен, но, похоже, он также включает разные порты? есть ли обходные пути?





Имейте определенную страницу на вашем порту 80, прокси-сервер запрашивает другой порт. Например:
http://localhost/proxy?port=7076&url=%2f%3fword%3dfoo
Обратите внимание на кодировку URL в последнем значении аргумента строки запроса.
Вы можете использовать JSONP. Здесь вы указываете обратный вызов с запросом, ответ от вашего запроса ajax будет заключен в оболочку с именем функции обратного вызова. Вместо использования XmlHttpRequest вы вставляете в документ HTML тег с URL-адресом. Затем, когда получен ответ, вызывается функция обратного вызова, передающая данные в качестве параметра.
Посмотрите этот Сообщение блога для примера
Это ограничение браузера. Все вызовы javascript должны осуществляться на тот же сервер и порт, на котором размещен сценарий. Для этого потребуется что-то на стороне сервера. I.E. пусть процесс на localhost пересылает запрос на localhost:7076.
Это отстой, но это необходимо ... В основном то, что вам нужно сделать, это проксировать ваш запрос AJAX через локальный прокси - какой-то серверный скрипт / страницу / что-то еще в том же домене, в котором вы находитесь - получить звонок и перенаправить его на другую сторону сервера ресурсов. Вы могли бы использовать некоторые уловки IFRAME, но я не думаю, что они работают очень хорошо ... хотя, возможно, ошибались, какое-то время.