de-vraag
  • Klausimai
  • Žymos
  • Vartotojai
Pranešimai
Apdovanojimai
Registracija
Užsiregistravę gausite pranešimus apie atsakymus ir komentarus į savo klausimus.
Prisijungti
Jei jau turite paskyrą, prisijunkite ir patikrinkite naujus pranešimus.
Už pridėtus klausimus, atsakymus ir komentarus bus skiriami apdovanojimai.
Daugiau
Šaltinis
Redaguoti
Elliot Vargas
Elliot Vargas
Question

Kaip valdyti nukreipimo užklausą po "jQuery Ajax" skambučio

Naudodamas $.post() iškviečiu servletą, naudodamas "Ajax", o gautą HTML fragmentą naudoju pakeisti div elementą dabartiniame vartotojo puslapyje. Tačiau jei sesija baigiasi, serveris siunčia nukreipimo direktyvą, kad vartotojas būtų nusiųstas į prisijungimo puslapį. Šiuo atveju jQuery pakeičia div elementą prisijungimo puslapio turiniu, todėl vartotojo akys tampa išties reto reginio liudininkais.

Kaip su jQuery 1.2.6 valdyti nukreipimo direktyvą iš Ajax skambučio?

1313 2008-10-13T21:29:50+00:00 3
John Slegers
John Slegers
Redaguotas klausimas popietr sausis 2016 в 8:21
Programavimas
redirect
javascript
jquery
ajax
Popular videos
How to manage a redirect request after a jQuery Ajax call
How to manage a redirect request after a jQuery Ajax call
prieš 6 metus
JavaScript : How to manage a redirect request after a jQuery Ajax call
JavaScript : How to manage a redirect request after a jQuery Ajax call
prieš 4 mėnesius
Wait Until jQuery Ajax Completes Before Calling Success Or Error Handlers
Wait Until jQuery Ajax Completes Before Calling Success Or Error Handlers
prieš 5 metus
« Ankstesnis
Kitas »
Šis klausimas turi 1 atsakymas atsakymų anglų kalba, norėdami juos perskaityti prisijunkite prie savo paskyros.
 Till
Till
popietr spalis 2008 в 9:54
2008-10-13T21:54:53+00:00
Daugiau
Šaltinis
Redaguoti
#8561845

Naudokite žemo lygio $.ajax() iškvietimą:

$.ajax({
  url: "/yourservlet",
  data: { },
  complete: function(xmlHttp) {
    // xmlHttp is a XMLHttpRquest object
    alert(xmlHttp.status);
  }
});

Išbandykite šį nukreipimo būdą:

if (xmlHttp.code != 200) {
  top.location.href = '/some/other/page';
}
 Till
Till
Redaguotas atsakymas priešpietr spalis 2008 в 12:50
49
0
Anoniminis naudotojas
popietr lapkritis 2008 в 8:56
2008-11-14T20:56:26+00:00
Daugiau
Šaltinis
Redaguoti
#8561847

servletą, turėtumėte įrašyti response.setStatus(response.SC_MOVED_PERMANENTLY); siųsti "301" xmlHttp būseną, kurios reikia nukreipimui...

o funkcijoje $.ajax neturėtumėte naudoti funkcijos .toString(), tiesiog

if (xmlHttp.status == 301) { top.location.href = 'xxxx.jsp'; }

Problema yra ta, kad jis nėra labai lankstus, negalite nuspręsti, kur norite nukreipti..

nukreipimas per servletus turėtų būti geriausias būdas. bet aš vis dar nerandu tinkamo būdo, kaip tai padaryti.

5
0
Vladimir Prudnikov
Vladimir Prudnikov
priešpietr spalis 2008 в 10:14
2008-10-19T10:14:46+00:00
Daugiau
Šaltinis
Redaguoti
#8561846

Be to, tikriausiai norėsite nukreipti naudotoją į antraštėse nurodytą URL adresą. Taigi galiausiai jis atrodys taip:

$.ajax({
    //.... other definition
    complete:function(xmlHttp){
        if(xmlHttp.status.toString()[0]=='3'){
        top.location.href = xmlHttp.getResponseHeader('Location');
    }
});

UPD: Opps. Turiu tą pačią užduotį, bet ji neveikia. Darau šį dalyką. Parodysiu sprendimą, kai jį rasiu.

Vladimir Prudnikov
Vladimir Prudnikov
Redaguotas atsakymas priešpietr spalis 2008 в 11:13
2
0
Pridėti klausimą
Kategorijos
Visi
Technologijos
Kultūra / poilsis
Gyvenimas / Menai
Mokslas
Profesionalus
Verslas
Vartotojai
Visi
Naujas
Populiarus
1
mohidil qodirova
Registruota prieš 2 dienas
2
Jasur Fozilov
Registruota prieš 2 dienas
3
Zuxriddin Muydinov
Registruota prieš 3 dienas
4
Денис Анненский
Registruota prieš 5 dienas
5
365
Registruota prieš 1 savaitę
DE
EL
ES
FR
ID
IT
JA
LT
NL
PT
RU
ZH
© de-vraag 2022
Šaltinis
stackoverflow.com
pagal licenciją cc by-sa 3.0 nurodant autorystę