Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Częściowe przeładowanie strony
Niktoś
post
Post #1





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Witam nie wiem jak wyciągnąć dane z ajaxowego żądania i nadpisać dom np.diva.Mam prostą funkcje:
Cytat
$.ajax({
url: pathname,
success: function (data) {
$('#cos').html(data);

}
});

Funkcja przeładowuję stronę i wynik zapisuje do zmiennej data.I teraz mam przykładowo:
Cytat
<div id="cos"></div> Jak nadpisać tego diva?
$.ajax({
url: pathname,
success: function (data) {
$('#cos').html(data.cos);

}
});

Czy dobrze kombinuje?

Ten post edytował Niktoś 3.04.2012, 11:03:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
tolomei
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

Ostrzeżenie: (0%)
-----


Poczytaj ten artykuł sobie.
Jest bardzo przyjazny więc myślę, że trochę rozjaśni.

Ten post edytował tolomei 3.04.2012, 06:48:44
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Proszę wstawić BBCode
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #4





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


Cytat(Niktoś @ 2.04.2012, 18:23:01 ) *
Witam nie wiem jak wyciągnąć dane z ajaxowego żądania i nadpisać dom np.diva.Mam prostą funkcje:
$.ajax({
url: pathname,
success: function (data) {
$('#cos').html(data);

}
});

Funkcja przeładowuję stronę i wynik zapisuje do zmiennej data.I teraz mam przykładowo:
<div id="cos"></div> Jak nadpisać tego diva?
$.ajax({
url: pathname,
success: function (data) {
$('#cos').html(data.cos);

}
});
Czy dobrze kombinuje?


uzycie $(OBIEKT_DOM).ajax(parametry) powoduje wykonanie ajaxowego żądania i zapisanie jego wyniku w OBIEKT_DOM (miedzy jego tagiem otwierajacym i zamykającym), usuwa starą zawartosc z tego co pamietam.

jesli chcesz z jakichś powodów najpierw zaladowac do zmiennej, a pozniej wpisac zawartosc, uzyj $.load(parametry).
Go to the top of the page
+Quote Post
Niktoś
post
Post #5





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Cytat
Proszę wstawić BBCode

@Wookieb w edytorze nie można zagnieżdżać znaczników(np.[b])oprócz jak widać w quote),zależało mi na wyróżnieniu pewnych wartości.

Kurcze ja nie czaje Ajaxa w C#.NET.O co chodzi mam tak skonstruowany tag:
  1. <asp:Button id="but" runat="server" OnClick="event_serwera" OnClientClick="funkca_po_stronie_clienta()" />

Klikam w przycisk wywoływany jest event po stronie servera(przeładowanie całej strony) co równa się wykonaniu eventów page init,page load i docelowego eventu ,potem idzie ajaxowy request w funkcji "funkca_po_stronie_clienta()".
Gdy usunę event OnClick="event_serwera" ,wykonywany jest request ajaxowy ,jednakże usunięty event zawierał pewne operacje robione po stronie serwera.Teraz przeładowanie ajaxem ,nie będzie wykonywało procesów zawartych w tym evencie ,gdyż go nie ma,a procesy te są tam kluczowe.
Mało tego, gdy jest powyższa funkcja i event, wykonanie eventu ajaxowego asynhronicznego zostaje przerywany(w ff jest aborted),gdyż podczas tego procesu wykonywany jest post(submit) po stronie serwera.Włączenie async:false powoduje wykonanie się najpierw żądania serwera(POST),potem leci nieasynhroniczne żądanie AJAXA,efekt taki ,że przeładowuje tą samą stronę dwa razy.

Orzeszek pokombinuje jeszcze z $.load.

Ten post edytował Niktoś 3.04.2012, 11:34:04
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #6





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


Daj sobie siana z webformsami i przejdz na mvc to bedziesz mial jakąs kontrole nad tym co sie dzieje.

ewentualnie jak chcesz to są w webformsach kontrolki ajaxowe dzieki ktorym mozesz w kodzie C# wykonywac ajaxowe zapytania. Np kontrolki ktore odswiezaja ci sie co minute. wiecej w ksiazce MCTS 70-515 programming in asp.net 4.0 ktora bez problemu znajdziesz na necie, bodajze 7 rozdzial.

mozliwe ze zle podchodzisz do problemu od strony projektowej i nadmiernie kombinujesz zamiast rozdzielic to np na 2 widoki czy cos
Go to the top of the page
+Quote Post
Niktoś
post
Post #7





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Kombinacje są i to alpejskie.Importowałem koszyk na inną stronę,a tam się strona inaczej zachowuje(strona z 2-ma gridview+wyszukiwarka,dodatkowo mieli tam 2 typy requestów+1 serwerowy,serwer transfer)),prawdziwy kombajn.
Musiałem jakoś zrobić aby koszyk ten nie miał żadnego wpływu na stan strony.Zrezygnowałem z ajaxa ,opcji load w jquery i skorzystałem z updatepanel mode conditional.Podczepiłem triggery na przyciski,w evencie anuluj do poszczególnych elementów zastosowałem enableviewstatemode=false,przez co stan kontrolek zostaje zresetowany,a następnie chowam całego diva z koszykiem.Problemem był viestatemode ,który zapamiętywał stan kontrolek,przy anulacji.

Sprawę załatwiłem,ale nadal nurtuje mnie ten problem przy zwykłym ajaxowym requeście gdzie w kontrolce mamy dwa atrybuty onclick i onclientclick i równoległe żądania,ale ten temat to chyba do codeguru.pl
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #8





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


webforms jest wg mnie slabym frameworkiem, a to dlatego ze dziala na opak sieci www.
oni probowali zrobic framework ktory bedzie w www dzialal jak aplikacja desktopowa.
ale nie da sie tego zrobic super z uwagi na bezstanowosc http i rozdzielenie procesu na klienta i serwera i zawsze w webformsach bedziesz mial jajca. w ogole te wszystkie zbędne zapytania ajaxowe ktore mozna zastąpic javaskryptem embeddowanym w widoku to tragedia.
predkosc dzialania code guru stanowi raczej antyreklame microsoftu.

webforms to przejsciowka dla developera aplikacji desktopowych zeby popisal sobie w nim, troche, obczail www i przesiadl sie na MVC które bardzo dobrze nadaje sie do webu.
Go to the top of the page
+Quote Post
Niktoś
post
Post #9





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Nie których rzeczy nie zaimplementujesz w MVC ,architektury tj. MS Enterprise Library,AppFabric,WMI itp.Chyba ,że się mylę.Mniejsze kombinacje przy stawianiu webservice ,łatwa implementacja webmethod.Nie przekreślaj całkowicie webformsów,nie są aż takie złe -tylko z tym ajaxem strasznie.Wydaje mi się ,że webformsy mają większe/szersze możliwości od MVC choć może to są moje subtelne odczucia.

Ten post edytował Niktoś 7.04.2012, 00:48:07
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #10





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


Cytat(Niktoś @ 7.04.2012, 01:27:41 ) *
Nie których rzeczy nie zaimplementujesz w MVC ,architektury tj. MS Enterprise Library,AppFabric,WMI itp.Chyba ,że się mylę.Mniejsze kombinacje przy stawianiu webservice ,łatwa implementacja webmethod.Nie przekreślaj całkowicie webformsów,nie są aż takie złe -tylko z tym ajaxem strasznie.Wydaje mi się ,że webformsy mają większe/szersze możliwości od MVC choć może to są moje subtelne odczucia.


wyprobuj obydwie architektury i wtedy je oceniaj (IMG:style_emoticons/default/smile.gif) jak na razie siedzisz tylko w webforms wiec twoja ocena jest subiektywna.

w MVC web servicem moze byc zwykła akcja w kontrolerze.

poza tym jak chce wykorzystac 2 razy jakis kawalek kodu to nie musze robic nowej kontrolki (co za idiotyczny pomysl), wystarczy mi partial view, lub partial akcja jesli potrzebne sa jakies dane. Razorowe templaty sa 10x bardziej czytelne niz kontrolki asp ktore mieszają sie z htmlem.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
3 Użytkowników czyta ten temat (3 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:17