$.get загружает неправильный URL-адрес при попытке загрузить угловой компонент внутри iframeJquery

Программирование на jquery
Ответить
Anonymous
 $.get загружает неправильный URL-адрес при попытке загрузить угловой компонент внутри iframe

Сообщение Anonymous »


Я пытаюсь загрузить компонент angular внутри iframe и отобразить его внутри диалогового окна, отображаемого, когда пользователь щелкает ссылку на странице aspx. Раньше в диалоговом окне отображалось содержимое другой страницы aspx, но мы заменяем его компонентом angular. В проекте Angular есть основной маршрутизатор приложений, который использует отложенную загрузку для загрузки модулей для других компонентов при доступе к соответствующему маршруту. Я могу получить доступ к правильному URL-адресу, просто перейдя в новое окно и набрав «http://localhost:82/app/s/invoice», но когда я пытаюсь загрузить URL-адрес с помощью ajax и записать его в iframe, я перенаправлен на домашнюю страницу угловых проектов. Это происходит всякий раз, когда угловой маршрутизатор не находит подходящего маршрута.

После множества небольших изменений я включил трассировку в маршрутизаторе следующим образом:

[RouterModule.forRoot(маршруты , {enableTracing: true }//ведение журнала и проверил результаты в консоли, чтобы увидеть, какой маршрут на самом деле используется.

По какой-то причине фактический URL-адрес, который передается в угловой маршрутизатор для сопоставления, совпадает с относительным URL-адресом текущей страницы aspx, с которой пользователь щелкает ссылку, вместо URL-адреса, который я передаю в jquery функция получения ajax. Вот пример того, как я пытаюсь выполнить вызов ajax:

$.get('/app/s/invoice', function (ret) { // это iframe внутри div, который мы собираемся загрузить var frm = $('#uploadsrc')[0].contentWindow.document; frm.open(); frm.write(рет); // Записываем форму загрузки в iframe frm.закрыть(); }); и пример маршрута, который фактически передается в угловой маршрутизатор:

/sales/so.aspx?key=123 Надеюсь, что кто-то может знать что-нибудь, что может привести к тому, что функция jquery get по умолчанию будет использовать URL-адрес, отличный от того, который указан в фактическом вызове функции, или как предотвратить подобные вещи.

Изменить дополнительную информацию:

Я могу заставить iframe открыть компонент angular, удалив вызов ajax и вместо этого просто указав атрибут src в элементе iframe как URL-адрес, который я хочу отобразить. Это нормально в качестве запасного варианта, но предпочтительнее загружать компонент Angular только в том случае, если пользователь действительно нажимает ссылку.

Заранее спасибо.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»