От клиента было обнаружено потенциально опасное значение Request.Path (:)

0

Я пытаюсь получить какой-то английский перевод Корана из quran.com для университетского проекта, используя следующую ссылку:

http://quran.com/quran/ajax?s=1&sA=1&eA=8&l=12C6

Эта ссылка при вводе в браузере возвращает правильные результаты, но когда я пытаюсь использовать эту ссылку в методе Angular, я получаю ошибку:

A potentially dangerous Request.Path value was detected from the client (:) 

Угловой метод:

Qt.Link = "http://quran.com/quran/ajax?s=1&sA=1&eA=8";
Qt.GetTranslation = function () {
        $http.get("/"+Qt.Link).success(function (result) {
            Qt.display = result;
        }).error(function (data) {
            toastr["error"](data);

        });
    };

После поиска в Интернете выяснилось, что это связано с некоторыми недопустимыми символами в URL-адресе или из-за неправильного прохождения параметра, как показано здесь.

  • Если ссылка работает в браузере, почему она не работает с методом Angular?

  • Как я могу это исправить?

Любая помощь будет оценена. Спасибо

Теги:

1 ответ

5
Лучший ответ

Что $http.get("/"+Qt.Link) будет пытаться загрузить:

/http://quran.com/quran/ajax?s=1&sA=1&eA=8

Это ведущий / означает, что он будет пытаться загрузить его с вашего сервера.

Чтобы получить http://quran.com/quran/ajax?s=1&sA=1&eA=8, удалите /.

Обратите внимание, что если это клиентская сторона (как кажется), вы можете столкнуться с политикой того же происхождения, которая разрешает только запросы XHR в пределах происхождения, если целевой запрос специально не поддерживает совместное использование ресурсов Cross-Origin и не делится с вашим происхождение (или все происхождение).

Если эта служба предназначена для использования с клиентского кода, у них будет страница, в которой рассказывается, как это сделать (JSONP или аналогичный). Если это не так, вам придется отправить запрос на ваш сервер с этим параметром, и ваш сервер выполнит запрос на quran.com а затем отправит вам ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню