Ajax и ограниченный uri

Я хотел бы сделать вызов ajax на другой сервер (тот же домен и ящик, просто другой порт). например

Моя страница

http://localhost/index.html

Я хотел бы сделать запрос ajax на получение:

http://localhost:7076/?word=foo

Я получаю эту ошибку:

Access to restricted URI denied (NS_ERROR_DOM_BAD_URI) 

Я знаю, что вы не можете сделать запрос ajax в другой домен, но, похоже, он также включает разные порты? есть ли обходные пути?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
3 839
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Имейте определенную страницу на вашем порту 80, прокси-сервер запрашивает другой порт. Например:

http://localhost/proxy?port=7076&url=%2f%3fword%3dfoo

Обратите внимание на кодировку URL в последнем значении аргумента строки запроса.

Вы можете использовать JSONP. Здесь вы указываете обратный вызов с запросом, ответ от вашего запроса ajax будет заключен в оболочку с именем функции обратного вызова. Вместо использования XmlHttpRequest вы вставляете в документ HTML тег с URL-адресом. Затем, когда получен ответ, вызывается функция обратного вызова, передающая данные в качестве параметра.

Посмотрите этот Сообщение блога для примера

Это ограничение браузера. Все вызовы javascript должны осуществляться на тот же сервер и порт, на котором размещен сценарий. Для этого потребуется что-то на стороне сервера. I.E. пусть процесс на localhost пересылает запрос на localhost:7076.

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

Другие вопросы по теме