Получаване на URL от отговора на ajax с помощта на EmberJS

Може ли някой да ми помогне как да получа URL адреса от отговора на Ajax в Ember. Това е за справяне със специфичен случай на употреба, при който сървърът пренасочва към друг url и връща данни от новия url (302 redirect).

Ако успея да получа url от отговора, тогава мога да проверя дали исканият url е различен от url на отговора и мога да предприема съответното действие.

Забележка: Ако използваме Angular (пробвано с Angular4), тогава можем да получим подробностите за отговора, включително url и заглавка от отговора, ако използвате Http услуга от '@angular/http'

Използвам следната конфигурация за EmberJS -ember-cli: 2.14.2 -node: 8.1.0 -os: darwin x64


person Sareesh    schedule 02.11.2017    source източник
comment
какво си пробвал Къде и как извличате данните? За ember-data ли говориш?   -  person Lux    schedule 02.11.2017
comment
Опитвах се да получа подробности с помощта на Ember.$.ajax? Ако има друг вариант, моля, уведомете ме.   -  person Sareesh    schedule 03.11.2017


Отговори (1)


В коментар посочихте, че извличате записа с помощта на Ember.$.ajax. Ember.$ не е повече от псевдоним за jQuery. Така че Ember.$.ajax е същото като jQuery.ajax. Следната документация за jQuery.ajax success функцията се извиква с jqXHR обект като трети аргумент. Това е надмножество от собствени XMLHttpRequest обекти на браузъри. Обектът XMLHttpRequest предоставя свойство само за четене responseURL, което е това, което търсите.

Като цяло бих препоръчал да не използвате jQuery.ajax в модерното приложение на Ember. Има две чудесни алтернативи:

  • ember-fetch предоставя HTML5 извличане на полифил от github обвито и в комплект за ember-cli.
  • ember-ajax предоставя услуга за правене на AJAX заявки, която осигурява RSVP обещания.

Освен това се работи по мигриране от jQuery.ajax в ember-data.

person jelhan    schedule 02.11.2017
comment
Благодаря за отговора, мога да направя логиката с помощта на „ember-fetch“. - person Sareesh; 03.11.2017