KwamfutocinShirye-shirye

Ajax - misalai. Ajax rubutun

The Internet na samar da baƙo ganuwa na kowane hanya da aka shirya a wani cibiyar sadarwa, da kuma browser - damar via cibiyar sadarwa ladabi, kira sunadaran da mutum rubutun, baza / liyafar da bayanai. Saita shafukan da cewa yin up shafin, yana da na kowa tushen - na musamman mahada (sunan yankin, musamman kumburi adireshin).

Komai da hanya amsa ga ziyarci statically ko da kuzari ya haifar da wani mayar da martani. Ko da tsari da kuma abun ciki na shafukan dogara ne a kan kowane yanayi, basa rabuwa sadarwa uwar garke kuma abokin ciniki (browser) ne ƙãre HTML-masu lamba daftarin aiki, da hotuna, style zanen gado, da kuma wasu fayiloli dole abun ciki da kuma yanayi. Idan wani abu ne ba daidai ba, da browser nuna duk da cewa an "gudanar da" don samun parse da kuma kashe.

Mutane da yawa alamar fasahar sun fito na dogon lokaci, amma da aka bã da wani hakki manta ko ba a yi amfani da yadda ya kamata. Da farko AJAX (misalai amfani da XMLHttpRequest abu) ya bayyana da yawa da suka wuce, amma nasarar da daraja zo yawa daga baya.

All ko kawai abin da kuke bukatar

A classic version na site - sunan, da IP-address da wata mahada (duk ma'ana ake sanya wannan batu a cikin Internet sarari). Abin da ya ta'allaka a baya da wannan babban shafi na - yi tunani: a kan nasu himma wani zamani "zanen", wanda ba su ma tambayi dalilin da ya sa shi ne don haka? Me shafin ne babban shafi daga wanda ka iya samun duk wani sauran? Wannan wani zaɓi - a fili ba manufa, shi ne da takamaiman abun ciki da kuma ainihin aiki.

Kawai sa, idan mutum yana bukatar wani likitan hakori, shi ne dama adireshin domin wani qayyadadden dalili, maimakon zuwa kitchen don tiyata da kuma ba da library ga shawara ilimin. A wuri inda wannan daya ya juya waje, ya gani, amma ba ya samu a asibitin hakori a cike. A mafi kyau da za a iya sa ran wani baƙo - da rajista da kuma shugabanci (ainihin hanya) zuwa ga likita. Kuma a kan tabo (a kan isowa) iya canza kamar yadda likita, da kuma manufa.

Amma a nan ke da shafin yawanci ko da yaushe a ɗora Kwatancen a cika harsasai, kome ya canjãwa kan loading, shan la'akari da lokaci da wani ya zo ... Amma ko da a cikin akwati inda shi ne hakikanin rai asibitin, na farko lokacin da ka ziyarci wani sabon abokin ciniki ba da isasshen bayani page , lambobin sadarwa, da kuma ... da taga rajista za a iya bayar da cewa ziyarar da shafin da aka yi a lokacin kashe-hours, kamar yadda wajabta ta likita ne ba samuwa, ta wucin gadi ganawa da aka sanya a cikin wani daban-daban ofishin ...

Point a Internet sarari

The classic martani na hanya na Internet sarari - a mayar da martani ga wani request bayar da site page (yawanci gida), sa'an nan da wasu, a request na baƙo. Site Server ma ya ƙunshi images, styles, JavaScript code rubutun, PHP, da dai sauransu Ba duk PHP-fayiloli yi pages, wasu daga cikinsu za a iya amsa su AJAX buƙatun :. zuwa sama, tsari da kuma aika bayanai.

Rubuta wani script mai karye. Amma samun ga zance na kula da a Internet sarari, ba shi yiwuwa, don sanin wanda kuma ga abin da dalilin jawabi, da cewa an kunna shi ne da sunan, da IP-address da kuma mahada. Duk wani yunkuri a kan hanyar sadarwa faruwa a software, yafi ta browser, amma kuma ta hanyar da mutummutumi na daban-daban asalin da kuma manufa, ta hanyar ayyuka na sauran shafukan.

Script, samun iko, za a iya daidai sani kawai: wata ziyara ta hanyar abin da browser mai ziyara ya je, tare da wani tunani daga wanda IP-adiresoshin, da kuma gaban cookies. Kawai karshen iya samar da bayanai kamar yadda ta samar da main page, amma kawai idan mai ziyara ya riga ya kasance a nan. A duk sauran lokuta, yana yiwuwa ya janye kawai janar martani daga uwar garke. AJAX-misalai da suke da sauki a samu a yanar-gizo, ya kamata a yi amfani da hankali. Kurakurai a cikin (amfani) da XMLHttpRequest abu zuwa waƙa ba sauki.

A] aukacin martani da kuma masu zaman kansu tattaunawa

A overall amsa daga uwar garken - na kowa page, kira a matsayin shugaban makaranta na abin da ake kira index, kuma shi zai fara tare da wani site da cewa shi ne a rashin daidaito tare da links to da sauran shafukan samuwa. Duk da haka, idan mai ziyara ya san sunayen da wasu shafuna, su ne a fahimtar zai zama babu kasa mai muhimmanci fiye da daya kaddamarda developer. A nan ne classic model, duk a lokaci daya: da sauran zane da kuma ayyuka da cewa mayar da hankali a kan dukan baƙi.

Private tattaunawa - a ci gaba da zaman daya gabata na baƙo. The site ya riga ya san abin da ya yi, da cewa yana sha'awar abin da aka kyan gani, page da kuma sanya shi a cikin memory, rubuta wani abu a browser cookies.

Yana amfani da biyu asali request ga uwar garke domin sauke site da kuma aiki tare da shi: POST da SAMU. tambayar sakamakon ne a dukan page. A sakamakon page, da baƙo iya kunna wadannan ko wasu abubuwan da aka kaga a kan mataki na wasu page abubuwa.

Events page abubuwa

shafi na kashi iya zama key samun bayanai, ma'anar - dauki abinda ke ciki na wani rubutu filin da kuma samun cewa shi ya rubuta wani baƙo. A taron na iya faruwa a kan wani menu abu, hoto, da rubutu akwatin. A cikin wani hali, JavaScript-aiki za a gudanar da, wanda za a iya yi AJAX-request kamar haka:

InitXML ( '../ Mphp / scSrvPhpWord.php? CTask = GoPage' + '& cOwnerCode =' + cOwnerCode
+ '& CSessionCode =' + cSessionCode + '& cActiveItem =' + cActiveItem).

Kamar wancan InitXML () aiki ne a tsare kamar haka (m var scXHR a iya bayyana a waje na aiki):

aiki InitXML (scURL) {

scXHR = null.

idan (window.XMLHttpRequest)
{kokarin
{ScXHR = sabon XMLHttpRequest ().
} Haruka (e) {}
} kuma
idan (window.ActiveXObject)
{kokarin
{ScXHR = sabon ActiveXObject ( 'Msxml2.XMLHTTP').
} Haruka (e)
{kokarin
{ScXHR = sabon ActiveXObject ( 'Microsoft.XMLHTTP').
} Haruka (e) {}
}
}
idan (scXHR)
{
scXHR.open ( 'SAMU', scURL).
scXHR.onreadystatechange = WaitReplySC.
scXHR.send (null).
}.
}

Wannan aiki daukan wani URL da qaga wani request ga shi. Asynchronous amsa zai zo da zaran za su cika da rubutun kayyade a cikin URL (a cikin wannan harka - scSrvPhpWord.php, located in ../Mphp/ fayil dangi zuwa tushen daga cikin site), kuma za su fara WaitReplySC () aiki, wanda ke da shigar da uwar garke XML-martani, ciki har da take da ciki.

uwar garke martani

A gaskiya da uwar garke mai PHP-rubutun - wani shirin cewa zai fara da shigarwa na da muhimmanci yanayi, download da zama dole wurare, pre-magani, wanda ya dogara a kan developer dalilai:

namespace PhpOffice \ PhpWord.

ini_set ( 'display_errors', 1).
error_reporting (E_ALL ^ E_NOTICE).

ignore_user_abort (gaskiya).
set_time_limit (12);

amfani da PhpOffice \ PhpWord \ MphpObj \ scDocuments.

require_once 'PhpOffice / PhpWord / Autoloader.php'.
\ PhpOffice \ PhpWord \ Autoloader :: littãfi ().

Wakilta farkon wata alama da ke nuna wani kurakurai, ta haramta tsayawa a rubutun a lokacin da mai amfani ajiye kashe da kuma kafa wani lokaci da iyaka a kan yin harka madauki - 12 seconds. Next mahada library PhpOffice \ PhpWord ga takardun * .docx.

Kamar yadda aka nuna a sama AJAX-kira ( '... cTask = GoPage' + '& cOwnerCode =' + cOwnerCode + '& cSessionCode =' + cSessionCode + '& cActiveItem =' + cActiveItem) - da hudu samun-canji, wanda ya iya ko ba zai zama, ya kamata a duba su ainihin kasancewa:

$ CTask = (isset ($ _ samun [ 'cTask']))? $ _GET [ 'cTask']: ''.
$ COwnerCode = (isset ($ _ SAMU [ 'cOwnerCode']))? $ _GET [ 'cOwnerCode']: ''.
$ CSessionCode = (isset ($ _ SAMU [ 'cSessionCode']))? $ _GET [ 'cSessionCode']: ''.
$ CActiveItem = (isset ($ _ SAMU [ 'cActiveItem']))? $ _GET [ 'cActiveItem']: ''.

Bayan yin shiri mataki rubutun yanke shawarar da:

canza ($ cTask) {

harka 'GoPage': // (wannan shi ne wani kalubale a lokacin da farko download ko refresh da shafi)

$ COwnerCode = 'cOwner'.
$ CSessionCode = 'cSession'.
$ CContents = 'cContents'.
$ CStatus = 'cStatus'.
$ CHtml = iconv ( 'UTF-8', 'CP1251', 'coding kashi ");
$ CActiveItem = iconv ( 'UTF-8', 'CP1251', 'canji').

$ CReply = "scSrvRM | GoPage | sa | {$ cOwnerCode}` {$ cSessionCode} | {$ cContents} `{$ cStatus} | {$ cHtml} | {$ cActiveItem}".

karya.

}

da kuma karshe na rubutun:

BBC ( "Content-Type: text / xml. yarda da-Haruffa marasa = utf-8");
BBC ( "Cache-Control: babu-cache");
amsa kuwa '';
$ CReply = iconv ( 'CP1251', 'UTF-8', $ cReply). // hira daga 'CP1251' a 'UTF-8'
Karfin $ cReply.

Samun abokin ciniki martani

A shafi na cewa an ɗora Kwatancen a browser, an gano cewa, da zaran cikin uwar garke zai shirya wani martani, shi za a sarrafa aiki WaitReplySC:

aiki WaitReplySC () {

kokarin {

idan (scXHR.readyState == 4) {
idan (scXHR.status == 200) {// martani aiki

var TestReply = scXHR.responseText.

idan ((TestReply.indexOf ( 'parse kuskure')> 0) ||
(TestReply.indexOf ( 'Sanarwa')> 0)) jijjiga (scXHR.responseText).

var cData = scXHR.responseText.
var aData = cData.split ( '|').

var cCmd = aData [1].
var cPos = aData [2].
var aOwnerSession = aData [3] .split ( '' ').
cOwnerCode = aOwnerSession [0].
var cSessionCode = aOwnerSession [1].
var aContentStatus = aData [4] .split ( '' ').
var cContent = aContentStatus [0].
var cStatus = aContentStatus [1].
var cHTML = aData [5]. // uwar garke HTML-martani
var cVarValues = aData [6]. // canji ga Forms

canza (cCmd) {

harka 'GoPage':

var dTestLine = document.getElementById ( 'scTestLine').
dTestLine.innerHTML = 'Amsa = [' + cOwnerCode + ','
+ CSessionCode + ','
+ CContent + ','
+ CStatus + ','
+ CHTML + ','
+ CVarValues + ']'.

karya.
}

} Else {
. Document.getElementById ( 'scAreaStatus') innerHTML = "Kuskure !!!".
}
}
} Haruka (e) {}

}

Saboda haka, amfani da AJAX-misalai, da page ne Loaded a browser samu (a scTestLine kashi):

Amsa = [cOwner, cSession, cContents, cStatus, abubuwa shigar da m dabi'u]

A cikin misali na code, jQuery da WordPress

Page a browser da rubutun rubutu da aka rubuta a UTF-8, domin yin amfani da iconv () aiki maida Rasha haruffa. Sauran kwarangwal wakilta code ne mai sauqi qwarai da kuma za a iya samun sauƙin maimaita ga wani musamman manufa.

Subject canza kawai a cikin aiki da uwar garke martani WaitReplySC () aiki da kuma ainihin rubutun code cewa ya haifar da mayar da martani. Kira InitXML aiki (ga wani musamman scURL da kuma dacewa da bayanai zuwa da shi) aka sanya shi a cikin taron handlers a kan page abubuwa da kuma ayyana ma'anar wadannan abubuwa.

Gabatar misalai na AJAX-daidaitacce zuwa "manual" da yin amfani da fasahar.

A daban-daban ciki management system (SMS) damar da aka bayyana a cikin hanyoyi daban-daban, kamar yadda mai mulkin, a cikin style of wani musamman bayani dalla-dalla. Alal misali, jQuery AJAX kira yiwuwa an gane jQuery.ajax () ayyuka a ko dai wani mataki: jQuery.get () da kuma jQuery.post (). A siga yana daukar kwayar cutar url da saituna (sa na key + darajar da nau'i-nau'i). jQuery.ajax () kõma XMLHttpRequest-abu.

JQuery zuwa waƙa da sakamakon na samarwa aiki-hanyoyin: XHR.done () - cikin nasara kammala request. XHR.fail () - kuskure handling.

jqXHR.done () Hanyar yavlyatsya madadin horo nasara kammala AJAX-request. Maye gurbin m jqXHR.success () Hanyar.

Hakazalika, da yin amfani da on Wordpress AJAX-fasahar. A nan, duk abin da ya shukakkun kanta a cikin content management system, ku ne kawai da bukatar amfani da samarwa tsarin. A takardun bayar cikakken bayanin.

AJAX Aikace-aikacen dogara da gaske a kan zaba kayan aikin, ko da yake manual version za a iya amfani da a layi daya ko a cikin Bugu da kari ga zaba content management system, daya ko wani version of jQuery. A karshen ne amfani da aiki a kan nasu, saboda kusan duk zamani SMS amfani da shi, amma kowanne a yadda hanya.

A classic misali na aikace-aikace

Simple da kuma karuwa da sauri amfani da AJAX - Siyayya online store. store shafukan suna ko da yaushe cike da dukiya, ko da yake a gaskiya su iya ba su. Reloading yawanci daukan babba lokaci, amma a lokacin da wani baƙo ance wani samfurin, ya iya ko da yaushe kawai ba har a kan shi ko canza zaba daya, cewa site ne ko da yaushe kyawawa don nuna sauri.

Yawancin lokaci aka gane a cikin nau'i na kwanduna kuma alamomi a kusa da zabi abubuwa. Ba tare da yin amfani da AJAX tsauri canje-canje ga wadannan abubuwa ne matsala.

AJAX-rubutun da aiwatar da sunadaran don ƙara / cire abubuwa to your cart, ya zama a zahiri shine, a da yawa SMS.

Ga al'ada watsa bayanai ta hanyar AJAX form za a iya kafa a wani al'ada iri (ga shigar da sunan kuma kalmar sirri):


Name:
Password:




Shiga

Ga mai horo:

aiki scfWelcomeGo () {

var cName = document.fWelcome.cName.value.
var cPass = document.fWelcome.cPass.value.

InitXML ( '../ Mphp / scSrvPhpWord.php? CTask = CheckWelcome'
+ '& CName =' + cName
+ '& CPass =' + cPass).

}

Yana watsa ga uwar garke domin inganta da baƙo da sunan kuma kalmar sirri. A rubutun jami'in dake duba yawan Karbar bayanai a tebur na masu amfani da kuma aika mayar da martani a kan tushen da wanda ya dace rubutun a kan page nuna sakon (aikin wani mataki) ga rijista masu amfani, ko rahotanni cewa babu irin wannan mai amfani, da kuma shi wajibi ne don hawa da hanya na rajista.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ha.birmiss.com. Theme powered by WordPress.