Jump to content
php.lv forumi

Pietrūkst isset();


metal-0-1

Recommended Posts

Klausies, tu tik daiļi runā, ka nelabi sametas. Latviešu sakāmvārdu kladīte lai paliek plauktā, nav ko lieki putekļus celt gaisā...

 

Tas nenozīmē, ka nav argumentu, bet nu zb jau šī daiļrunāšana. Nāk prātā paša un daudzu citu novērojums, ka daiļrunātāju kods parasti ir tas "visinteresantākais". Ko pin iekšā kokus un šītus? Lai ilustrētu, ka tu nevis izproti problēmu un centies to vienkāršot, bet, tieši otrādi, lepojes ar to, ka viselementārākās lietas proti sarežģīt? Kas, pēc runāšanas spriežot, arī labi izdodas.

Edited by Mr.Key
Link to comment
Share on other sites

Nu nez, kurš te daiļrunātājs.
Tu jau biji tas, kurš beztēmā piesējās par GET/POST un ajax un pēcāk manam FW, kuru tu savā dzīvē redzējis neesi.
Nemaz nerunājot par to, ka pus gadu jau izmantoju scala un play2! FW.


Bet atgriežoties pie tēmas.
Sākumā norobežošos no variantiem, kurus normāli ar formas postu saprātīgā veidā nav iespējams izveidot:
Ir, piemēram, blogs, kurā ir "vote up" poga, kuru nospiežot nobalso par rakstu un lapā parādā jauno balsu skaitu.
Pat, ja pieņem, ka tā poga tiek uztaisīta kā forma un tai automātiski tiek piesaistīts events, kurš izsauc ajax.
Bet ko tālāk?
1) Pēc ajaxa refrešot lapu - pilnīgi nepieņemams variants mūsdienām.
2) Ar ajax atsūtīt skriptu, kurš atjauno balsu skaitu un tiek automātiski izsaukts - tik un tā backendā ir jānodala formas posta atbilde no ajax atbildes (jaunais balsu skaits).
3) Kaut kur pievienot vēl papildus ajax requesta callbacku - tas pats darbs, kas izmantojot pliku ajax+callback.

Es savukārt šādā situācijā ignorēju tos, kuriem js ir izslēgts, jo pēc statistikas datiem ar ieslēgtu js browsē 99.8%.
Ja neizmantoju nekādus MVC, MVVM klienta puses FW, tad es rakstītu šādi:

$('.vote-up').on('click',function(){
  var articleid=$(this).data('articleid');
  $.post('/article/vote',{articelid:articleid}, function(resp){
    $('.article'+articleid+' .votes').html(resp.votes);
  },'json');
}

savukārt, kad izmantoju modeļus un mvvm, tad:

$('.vote-up').on('click',function(){
  Article.call('vote');
}

Article.ajax.vote() pēc routera zin, kāds backend path jāizsauc, un māk automātiski apstrādāt atbildi ar Article modeļa datiem un atjaunot tam piebindotos viewus.

 

Vai, ja izmantoju bindošanu elementam, tad:

<button data-bind="click: Article.call('vote')">Vote Up</button>

 

Link to comment
Share on other sites

Es runāju nevis par formu, bet to, ka forma vai AJAX tiek jaukti ar HTTP POST metodi.

 

 

Es savukārt šādā situācijā ignorēju tos, kuriem js ir izslēgts, jo pēc statistikas datiem ar ieslēgtu js browsē 99.8%.
 

 

Kontrolleris, acīmredzot, ir "tight-coupled" ar skatu. Problēma nav tajā, ka var ignorēt tos, kam nav JS, bet tajā, kāds tad tas kods galu galā sanāk.

Link to comment
Share on other sites

Sākotnējā topika postā tiek darīts šādi:

Ir html forma, kurai nospiež submit un izsauc post metodi.

Servera pusē tā vienā actionā tiek gan apstrādāta/validēta, gan tiek apstrādāts un atgriezts atgriežamais skats.

Es savukārt jau no paša sākuma rakstu, ka man tādas problēmas nepastāv, jo neizmantoju datu nosūtīšanu serverim ar html formas post metodi.

Bet tā vietā datus sūtu ar ajax, līdz ar to to apstrādei ir viens actions, bet lapu ielādēju ar GET metodi un tai attiecīgi ir otrs actions, kurā notiek lapas skata datu sagatavošana un atgriešana.

 

Tas, vai ajax metodē dati tiek validēti un skatā izvadīti ar formas klases palīdzību jau ir pavisam cits jautājums (Bet codeigniter, cik skatos nemaz, nav tāda formas klases, ir tikai formas helperi.).

Edited by codez
Link to comment
Share on other sites

> Man jāsāk domāt, ar kāda līmeņa projektiem jūs ņematies, ja jums pietiek ar html formas submitu.

 

Nepārptori mani. Tiklīdz ir nepieciešams AJAX (tavi piemēri), es to izmantoju. Tas, ko vēlos pateikt, ka ir vietas, kur AJAX nav nepieciešams. Parasta forma — tik prasti mēdz gadīties. :)

Link to comment
Share on other sites

Piemēram, atveram lūk mau blogu.

 

http://dagrevis.lv/blog/138/nexus-4/#add_comment

 

Vai man tur vajadzeja izmantot AJAX? Es teiktu, ka nē — tas ir overheads.

 

Ir nācies taisīt produktus, kuros ir raksti un komentāru pievienošana un vienmēr to esmu taisījis ar ajax.

Kaut vai tā paša iemesla dēļ, ka bija iespējama arī komentāru editēšana, balsošana, flagošana, nestošana, dzēšana un tas viss tika taisīts ar klienta puses modeļiem.

Man personīgi lapas pārlādēšana pēc komentāra pievienošanas nešķiet tā labākā UI/UX.

 

P.S. Pat šijā forumā komentāra pievienošana notiek ar ajax.

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...