Вопрос

Я хотел бы сделать вызов 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 должны быть направлены на тот же сервер и порт, что и домашний скрипт.Для этого потребуется что-то на стороне сервера.И.Е.иметь процесс в localhost переслать запрос на localhost:7076.

Это неприятно, но это необходимо...По сути, вам нужно будет проксировать ваш запрос AJAX через локальный прокси - какой-нибудь серверный скрипт/страницу/что угодно в том же домене, в котором вы находитесь - принять вызов и перенаправить его на другой ресурсный сервер - сторона.Возможно, вы могли бы использовать некоторые трюки с IFRAME, но я не думаю, что они работают очень хорошо... хотя это может быть неправильно, прошло некоторое время.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top