Դեկտեմբերի 2-ին: , 2016
Մի անգամ գրել եմ հոդված, թե ինչպես ստեղծել ներկառուցված վիդջեթներ հայրենի JavaScript- ի եւ PHP- ի վրա: Եվ ամեն ինչ լավ կլիներ, բայց մի պահ չի ազդել դրա վրա: Նման հարմարանքները կարող են օգտագործվել մեր սեփական կայքում, բայց ավելի հետաքրքիր են դրանք ստեղծել երրորդ կողմի ռեսուրսների համար: Բայց այս դեպքում ցանկալի տվյալների զննարկիչը պետք է բեռի մեկ այլ տիրույթից. Սա խաչմերուկի Ajax- ի պահանջներից է:
Առաջնային ծրագրավորողների տեսակետից խաչմերուկի դիմումները չեն տարբերվում սովորականից: Բայց Bekend- ի վրա կա տարբերություն: Ինչու նրանց հետ ամեն ինչ այնքան էլ պարզ է եւ ինչպես իրականացնել դրանք - կարդացեք դրա մասին հոդվածում:
Մենք փորձում ենք տվյալներ ստանալ մեկ այլ տիրույթից
Պարզության համար հաշվի առեք դիմումները: Ենթադրենք, որ սերվերը ստում է որոշակի HTML ֆայլ, որն է մեզ մոտ, թե ինչպես ներբեռնել Ajax-Ohm- ը մեկ այլ տիրույթից: HTML: Բացեք այն եւ համոզվեք, որ այն իսկապես մատչելի է - (բացվում է նոր ներդիրի մեջ): Սա սովորական բաժանում է «Բովանդակությունը Template.html» տեքստով:
Եվ հիմա եկեք ստանանք այս HTML-KU AJAX-OHM- ն ուղղակիորեն զննարկչի վահանակից:
Մենք չենք կարի հայրենի JavaScript- ի հետ եւ խնդրանքով վարվելով JQuery.get () օգտագործմամբ եւ բերեք վահանակի, թե ինչ են նրանք ստացել սերվերից:
$ .. HTML ", գործառույթ (Responce) (Responce)));
Այժմ բացեք մշակող գործիքները զննարկչի եւ վահանակների ներդիրում, կատարեք այս խնդրանքը:
Դուք կտեսնեք հետեւյալի մասին
Ամեն ինչ հիանալի է, հարցում ուղարկեց, ստացավ պատասխան: Թվում է, թե դա կարող է ավելի հեշտ լինել: Եվ հիմա գնացեք ցանկացած այլ կայք, որտեղ JQuery- ը միացված է եւ փորձում է նույնը անել: Միայն HTTPS- ի կայքում ոչ թե ինչու է սովորել հոդվածի վերջում:
Օրինակ, ես ստուգում էի ռմբակոծության հարցում: Եվ միեւնույն ժամանակ նա ազատ է արձակվել, թե որ աղբը չի ընկնում դավանանքի մեջ նույնիսկ նման հայտնի վայրերում: Այնուամենայնիվ, խոսակցությունը այդ մասին չէ:
Հարցում կատարեք մեկ այլ տիրույթից եւ կտեսնեք, որ վահանակն այլեւս այդպիսի կոպիտ պատկեր չէ: Ասում է, անհնար է ներբեռնել, ոչ մի տվյալ եւ ընդհանուր վշտի:
Եթե \u200b\u200bդուք բացեք ցանցի ներդիրը եւ այնտեղ գտնեք համապատասխան հարցում, կտեսնեք, որ սերվերը նույնիսկ մեզ է վերադարձել 200-ին
Եվ չկա բովանդակության ֆայլ: Ինչ է բռնել
Ինչը սխալվեց եւ որն է լինելու որոշումը
Բռնումն այն է, որ ինտերնետային քաղաքականությունը թույլ չի տալիս զննարկիչներին հանել տվյալները ցանկացած ռեսուրսներից: Բացի այն դեպքերի, երբ այս ռեսուրսներն իրենք հետաքրքրում են հատուկ տվյալներ բաժանելով:
Մեր գործը այդպիսին է: Որպեսզի ֆայլը պահանջելիս ցանկանում եք HTML ֆայլը օգտագործել ցանկացած վայրից, ցանկանում եք ուղարկել մուտքի հսկիչ-թույլտվություն-ծագում HTTP վերնագիր:
Այժմ հարցն այն է, թե ինչպես դա անել: Եթե \u200b\u200bդուք (կամ ադմինիստրատորներ) մուտք ունեք Nginx- ից, ապա մի կերպ `այս վերնագրի աղտոտումը վեբ սերվերի գործիքներին կազմաձեւելու համար: Դուք գնում եք ադմինիստրատորի կողմից համապատասխան պահանջով կամ Google- ին ձեր վեբ սերվերի ցանկալի կազմաձեւերը:
Եթե \u200b\u200bչկա այս մուտքը, օրինակ, օրինակ, գրեթե ցանկացած հյուրընկալող մատակարարում էժան սակագին, ապա պետք է ինքներդ դուրս գալ: Եվ ահա PHP- ն գալիս է փրկարար: Գաղափարն այն է, որ մեր HTML-KU- ն գցեք PHP ֆայլ, որը ծնվում է վերնագրով եւ կտա ցանկալի բովանդակությունը:
Ստացվում է, որ դուք ստեղծում եք ֆայլի ձեւանմուշը: PHP- ն եւ առաջին լարը Գրեք PHP հրամանը
Վերնագիր («Մուտքի հսկողություն-թույլտվություն-ծագում. *»);
Բովանդակություն template.php- ից:
Այսինքն, ձեւանմուշի բովանդակությունը կլինի այդպես, մի \u200b\u200bմոռացեք PHP-թեւերի եւ փակագծերի մասին
WebDevkin- ում ֆայլը ստեղծվում եւ ստում է (բացվում է նոր ներդիրում): Եկեք հիմա փորձենք այն պահանջել մեկ այլ տիրույթից եւ տեսնել, թե ինչ կլինի
$ .. PHP ", գործառույթ (պատասխան));
Ինչպես տեսնում եք, ամեն ինչ լավ է աշխատում. Ֆայլը բեռնված է:
Նայեք ցանցի ներդիրին:
Խնդրում ենք նկատի ունենալ, որ մուտքի վերահսկման թույլտվության ծագման վերնագիրը հետաքրքրված է պատասխանների վերնագրերով:
Ընդհանուր առմամբ, հոդվածն ավարտված է: Մնում է մտքեր հավաքել փունջով եւ ավելացնել մի քանի այլ տեղեկություններ:
Ամփոփեք եւ ամփոփեք
- 1. Հնարավոր չէ հեշտությամբ պահանջել Ajax ցանկացած ռեսուրս մեկ այլ տիրույթից
- 2. Ուղարկեք մուտքի վերահսկման թույլտվության ծագման վերնագիր բոլոր ռեսուրսների համար, որոնց անհրաժեշտությունը կարող է անհրաժեշտ լինել:
- 3. Դա արեք վեբ սերվերի կամ PHP- ի հետ
- 4. PHP- ի վրա այս վերնագիրն ուղարկվում է վերնագրի հրամանատարությամբ («Մուտքի հսկողություն-թույլտվություն. *»)
- 5. Մուտքի հսկողություն-թույլտվություն-ծագում. * - Թույլ տվեք մուտք գործել բոլոր տիրույթները, մուտքի վերահսկման թույլտվության-ծագումը. SITE.RU - միայն տիրույթ
- 6. Մուտքի վերահսկման թույլտվության ծագումը ուղարկվում է PHP ֆայլի հենց սկզբում, նույնիսկ այլ տվյալների արդյունքից առաջ (ինչպես նաեւ ցանկացած այլ HTTP վերնագիր)
- 7. «Ռեսուրս» -ը ոչ միայն HTML նշագրմամբ ֆայլ է, այլեւ ցանկացած URL, որին Ajax- ի խնդրանքը գալիս է, օրինակ, տվյալների բազայի սեղանի համար տող ավելացնելու համար
Եվ վերջինը, որն իրականացվում է առանձին: Ես չէի ձգտում կատարել HTTP կայքից պահանջներ: HTTPS- ի միջոցով հնարավոր չի լինի բեռնավորել տվյալները HTTP- ից `մեկ այլ պատճառով` խառը բովանդակություն: Եվ կայքը դեռ HTTP կայք է ( Թարմացվել է. Այլեւս չի հետաձգվում կայքը HTTPS- ի վրա)
Սա այն է, ինչ կտեսնեք վահանակում, փորձելով կատարել նույն հարցումը ցանկացած HTTPS կայքից: Հետեւաբար, եթե դուք պատրաստվում եք ներգրավվել ներկառուցված վիդեոններով կամ նման բան, դուք անպայման պետք է ձեր կայքում տեղադրեք SSL վկայագիր:
jquery.ajax () - հարցում է կատարում սերվերին, առանց էջը վերագործարկելու: Սա ցածր մակարդակի մեթոդ է: մեծ քանակություն կարգավորումներ. Այն հիմնված է բոլոր Ajax- ի աշխատանքի վրա, ինչը հաճախ ավելի հեշտ է հասկանալ եւ օգտագործել, բայց որը դեռեւս սահմանափակ գործառույթ է տալիս այս մեթոդի համեմատ:
$ .ajax () վերադարձնում է XMLHTTPREQUEST օբյեկտը: Շատ դեպքերում ձեզ հարկավոր չէ ուղղակիորեն աշխատել այս օբյեկտի հետ, բայց այն դեռ հասանելի է, եթե անհրաժեշտ է ձեռքով ընդհատել հայցը:
Որպես փաստարկ, գործառույթը $ .ajax () փոխանցվում է օբյեկտ, որը բաղկացած է մի զույգ առանցքային / արժեքից, որն օգտագործվում է հարցումը նախաստորագրելու եւ կառավարման համար:
Ajax- ի խնդրանքն ունի երկու օգտագործման տարբերակ.
jquery.ajax (URL [, կարգավորումներ])
Մեթոդի նախորդ վարկածի տարբերությունը բաղկացած է միայն այն բանի, որ այստեղ URL գույքը պարամետրերի մի մասն է, եւ ոչ թե առանձին պարամետր:
Կարգավորումների ցուցակ (պարամետրեր)
- Ընդունում է:(Լռելյայն. Կախված է տվյալների շտեմից)
Տեսակը, օբյեկտ:
Հարցումը կատարելիս վերնագրերը (վերնագիր) նշում են սերվերից սպասվող բովանդակության թույլատրելի տեսակները: Այս տեսակների արժեքները կվերցվեն ընդունված պարամետրից: Օրինակ, հետեւյալ օրինակը ցույց է տալիս Customtype- ի թույլատրելի տեսակները.$ .AJAX (((ընդունում է. «MyCustomtype.« Դիմում / X-Women-Type »), փոխարկիչներ.
$ Ajax ((
Ընդունում է. (
myCustomtype: «Դիմում / X-Some-Custom-Type»
Փոխարկիչներ. (
"TEXT MYCUSTOMTYPE": գործառույթ (արդյունք) (
Վերադարձեք newResult;
dATATYPE. «MYCUSTOMTYPE»
} ) ;
- async. (Լռելյայն. True իշտ է)
Տեսակը, տրամաբանական արժեք:
Լռելյայն, բոլոր պահանջները ուղարկվում են ասինխրոն (այսինքն `սերվերին հարցում ուղարկելուց հետո էջը չի դադարեցնում իր աշխատանքը` պատասխանելիս սպասելիս): Եթե \u200b\u200bՁեզ անհրաժեշտ է հարցումներ ուղարկել համաժամանակյա, այս տարբերակը կեղծեք: «JSONP» տեսակի խաչմերուկի պահանջներն ու պահանջները չեն կարող իրականացվել համաժամանակյա ռեժիմով: Խնդրում ենք նկատի ունենալ, որ համաժամանակյա հարցումները կարող են արգելափակել զննարկիչը կատարման ժամանակ: - beforesert (JQXHR, պարամետրեր)
Տեսակը, գործառույթ:
Պարունակում է մի գործառույթ, որը կկոչվի անմիջապես նախքան AJAX հայցը սերվերին ուղարկելը: Այս գործառույթը կարող է օգտակար լինել JQXHR օբյեկտը փոփոխելու համար (in Վաղ տարբերակներ Գրադարաններ (մինչեւ 1,5), JQXHR- ի փոխարեն օգտագործում են XmlhttpRequest): Օրինակ, դուք կարող եք փոխել / նշել անհրաժեշտ վերնագրերը (վերնագիր) I.D. JQXHR օբյեկտը կփոխանցվի առաջին փաստարկի գործառույթին: Երկրորդ փաստարկը փոխանցում է հարցման պարամետրերը:
Fforeesend- ը վերաբերում է Ajax- ի իրադարձություններին: Հետեւաբար, եթե դրա մեջ նշված գործառույթը կրկնօրինակվի, «Այաքսի» հարցումը չեղյալ կհայտարարվի: Նուֆֆեկտիվը կոչվում է անկախ հարցման տեսակից: - Քեշ (Լռելյայն. True իշտ է, կեղծ տվյալների «Սցենարի» եւ «JSOP»)
Տեսակը, տրամաբանական արժեք:
Եթե \u200b\u200bցանկանում եք, որ զննարկիչը չի պահում հարցումը, ապա այս պարամետրը կեղծեք: Խնդրում ենք նկատի ունենալ, որ եթե պարամետրը կեղծվի, «_ \u003d» տողը կավելացվի URL- ին: - Լրացրեք (JQXHR, TEXTSTATA)
Տեսակը, գործառույթ:
Գործառույթ, որը կատարվում է «Այաքսի» հարցումն ավարտելուց ամեն անգամ (ավարտվելուց հետո հաջողությունից եւ սխալից հետո): Գործառույթին փոխանցվում է երկու պարամետրեր. JQXHR (գրադարանի վաղ տարբերակներում (մինչեւ 1,5), փոխարենը, JQXHR- ն օգտագործում է XMLHTTPREQUEST) եւ հարցման կատարման կարգավիճակը », -« Հաջողություն »,« Սխալ »,« դադարեցում »,« Աբորտ »կամ« PARSERERROR »):
Սկսելով jQuery-1.5- ից, ամբողջական պարամետրը կարող է փոխանցվել ոչ թե մեկ գործառույթ, այլ գործառույթների շարք: Բոլոր գործառույթները կկատարվեն այն կարգով, երբ նշված է զանգվածը: - Բովանդակություն
Տեսակը, օբյեկտ:
Պարամետրը հայտնվեց JQuery-1.5-ում, տեղադրված է ձեւաչափի օբյեկտում (լարային. Պարբերաբար արտահայտություն) եւ որոշում է, թե ինչպես JQuery- ը ապամոնտաժում է սերվերից պատասխանը, կախված իր տեսակից: - Բովանդակություն:
Տեսակը, տրամաբանական արժեք կամ լար:
Սերվերին խնդրանք ուղարկելիս տվյալները փոխանցվում են բովանդակության մեջ նշված ձեւաչափով: Ըստ լռելյայն, «դիմում / x-www-form-urlencoded; Charet \u003d UTF-8 ', որը հարմար է շատ դեպքերում: Եթե \u200b\u200bնշեք, որ այս պարամետրը բացահայտ կփոխանցվի սերվերին (նույնիսկ եթե այնտեղ որեւէ տվյալ չի ուղարկվել):
JQuery-1.6- ի միջոցով կարող եք կեղծ ուղարկել վերնագիրը չտեղադրելու համար: - Համատեքստ:
Տեսակը, օբյեկտ:
Հարցումը գործարկելուց հետո առարկան, որը կլինի համատեքստը (փոխանցվող արժեքը այս փոփոխականին): Օրինակ, եթե դոմի տարրը նշում եք որպես համատեքստ, ապա Ajax- ի բոլոր պահանջների բեռնափոխադրողները նույնպես կկատարվեն այս DOM տարրի համատեքստում: Այս օրինակում Հիմնաբառ Սա պարունակում է փաստաթուղթ:$ .ajax ((URL: "Test.html", համատեքստ. Փաստաթուղթ)): Կատարված (գործառույթ ()));));
$ Ajax ((
uRL. «Test.html»,
Համատեքստ. Փաստաթուղթ: Մարմին:
)): Կատարված (գործառույթ () (
$ (սա): AddClass («Կատարված»);
} ) ;
- Փոխարկիչներ:(Լռելյայն.
Տեսակը, օբյեկտ:
Parameter- ը հայտնվեց JQuery-1.5-ում, որոշում է, թե ինչ գործառույթների կվերափոխվի արժեքների նույն տիպի, մյուսում: - Խաչաձեւ ռեժիմ:(Լռելյայն. Կեղծ նույն տիրույթի համար, ճշմարիտ է խաչմերուկների համար)
Տեսակը, տրամաբանական արժեք:
Պարամետրը հայտնվեց JQuery-1.5-ում, եթե ցանկանում եք կատարել նույն տիրույթի վրա խաչմերուկի հարցումը (օրինակ, JSOP), ճշմարիտ է խաչաձեւ պարամետրում: Սա, օրինակ, թույլ է տալիս սերվերի վերահղումը մեկ այլ տիրույթին դարձնել: - Տվյալներ:
Տեսակը, օբյեկտ, լար կամ զանգված:
Տվյալներ, որոնք կփոխանցվեն սերվերին: Եթե \u200b\u200bտվյալները լար չեն, ապա դրանք վերածվում են հարցման տողի: Հայտերի ստանալու համար տվյալները կցվում են URL- ին: Օբեկտը պետք է բաղկացած լինի մի զույգ առանցքային / արժեքից: Եթե \u200b\u200bզանգվածի արժեքը, ապա jQuery պատվերները արժեքները կախված են ավանդական պարամետրից: Օրինակ, լռելյայն, (Foo: [Bar1 "," Bar2 "]) վերածվում է & foo \u003d bar1 & foo \u003d Bar2: - datafilter (Տվյալներ, տեսակը)
Տեսակը, գործառույթ:
Գործառույթ, որը նախնական մշակման տվյալներ կներկայացնի սերվերի կողմից, I.E: Այն պետք է խաղա ֆիլտրի դերը եւ վերադարձնի մաքրված լարը: Երկու պարամետրեր փոխանցվում են այս գործառույթին. Նշված տվյալները եւ պարամետրային արժեքը Տվյալների շտեմարան, Datafilter- ում նշված գործառույթը պետք է վերադարձնի վերամշակված տվյալները: - Տվյալների շտեմարան (Լռելյայն. Որոշվում է ինքնաբերաբար (XML, JSON, Script կամ HTML))
Տեսակը, տող:
Տվյալների տեսակը, որում ակնկալվում է պատասխան սերվերից: Եթե \u200b\u200bդա նշված չէ, jQuery- ը կփորձի ինքնաբերաբար որոշել, օգտագործելով Mime սերվերը: - Սխալ
Տեսակը, գործառույթ
Այն գործառույթը, որը կանչվելու է սերվերին խնդրանքի անհաջող ավարտի դեպքում: Այն ապահովում է երեք պարամետր. JQXHR (մինչեւ 1,5-ը օգտագործվում է XMLHTTPREQUESEST), լարային, որը տեղի է ունեցել այն սխալի նկարագրությամբ, ինչպես նաեւ դա տեղի է ունեցել բացառության օբյեկտ: Երկրորդ փաստարկի հնարավոր արժեքները. «Ժամկետը», «Սխալ», «Չմնալ» եւ «Պարմոդեր» (անկանխատեսելի դեպքերում, անվավեր արժեքը կարող է վերադարձվել): Սկսած jQuery-1.5-ից, այս պարամետրը կարող է տեւել ինչպես մեկ գործառույթ, այնպես էլ գործառույթների շարք:
Սխալի իրադարձությունը տեղի չի ունենում այն \u200b\u200bժամանակ, երբ տվյալների շտեմարանը հավասար է սցենարի կամ JSONP- ին: - համաշխարհային (Լռելյայն. True իշտ է)
Տեսակը, տրամաբանական արժեք:
Պատասխանատու է Global Ajax հարցման միջոցառումների գործունեության համար (օրինակ, Ajaxstart կամ Ajaxstop): Եթե \u200b\u200bայս պարամետրը դնում եք կեղծ, համաշխարհային իրադարձությունների համար Այս խնդրանքը Կկոչվի: - Վերնագրեր:
Տեսակը, օբյեկտ:
Այստեղ պարամետրը հայտնվեց JQuery-1.5- ում, կարող եք նշել հարցման լրացուցիչ վերնագրերը (վերնագիր): Այս պարամետրերի արժեքները մուտքագրվելու են նախքան Forfor եռեֆեկտիվ գործառույթը, որում վերջնական փոփոխությունները կարող են կատարվել վերնագրերին: - iFMODIFID
Տեսակը, տրամաբանական արժեք:
Երբ այս պարամետրը ճշմարիտ եք փոխանցում, հարցումը կավարտվի «հաջողակ» կարգավիճակով, միայն այն դեպքում, երբ սերվերից պատասխանը տարբերվում է նախորդ պատասխանից: JQuery- ը ստուգում է այս փաստը, որը վերաբերում է վերջին փոփոխված վերնագրին: JQuery-1.4- ից սկսած, վերջին փոփոխվածից բացի եւ «Etag» - ը նույնպես ստուգվում է (երկուսն էլ տրամադրվում են սերվերի կողմից եւ անհրաժեշտ է զննարկիչին տեղեկացնելու համար, որ սերվերից պահանջվող տվյալները չեն փոխվում նախորդ պահանջից): - կղզու
Տեսակը, տրամաբանական արժեք:
Parameter- ը հայտնվեց JQuery-1.5.1-ում, թույլ է տալիս տեղադրել էջի աղբյուրի տեղական կարգավիճակը (ասես պատահել է ֆայլերի արձանագրության միջոցով), նույնիսկ եթե jQuery- ը այլ կերպ է ճանաչում: Գրադարանը որոշում է, որ էջը տեղական արձանագրությունների դեպքում է ընթանում հետեւյալ արձանագրությունների դեպքում. Ֆայլ, * -Extension եւ widget: Առաջարկվում է սահմանել Islocal պարամետրերի արժեքը, օգտագործելով $ .Ajaxsetup () գործառույթը Անհատական \u200b\u200bAJAX հարցումների պարամետրեր: - jspop
Տեսակը, տողի կամ տրամաբանական արժեք:
Սահմանում է JSONP հայցադիմումի URL- ին ավելացված պարամետրի անունը (լռելյայն, «հետադարձ կապ» է օգտագործվում): Օրինակ, կազմաձեւումը (JSONP. «Onjsonpload») վերածվում է «Onjsonload \u003d» տողի URL մասի մի մասի: , 1.5-րդ տարբերակից սկսած, այս կեղծ պարամետրի ճշգրտումը կանխում է URL- ին ավելացնելը Լրացուցիչ պարամետր, Այս դեպքում դուք պետք է սահմանեք JSONPCALLBACK- ի կարգավորման արժեքը: Օրինակ, սա է. (JSONP. FALSE, JSONPCALLBACK. «CALLBACKNAME»): - jponpcallback
Տեսակը, լարային կամ գործառույթ:
Սահմանում է գործառույթի անվանումը, որը կկոչվի JSOP- ի խնդրանքին սերվերին պատասխանելիս: Լռելյայն, jQuery- ը ստեղծում է այս հատկության կամայական անվանումը, որն ավելի նախընտրելի տարբերակ է, որն ավելի է պարզեցնում գրադարանի աշխատանքը: Պատճառներից մեկը, որում նշվում է ձեր սեփական JSONP հարցման վերամշակման գործառույթը `ստացման պահանջների պահոցը բարելավելը:
Սկսելով jquery-1.5- ից, կարող եք այս պարամետրում գործառույթ նշել, որպեսզի ինքներդ վերամշակեք սերվերի պատասխանը: Այս դեպքում նշված գործառույթը պետք է վերադարձնի սերվերից ստացված տվյալները (նշված գործառույթում դրանք հասանելի կլինեն առաջին պարամետրում): - Մեթոդ (լռելյայն. «Ստացեք»)
Տեսակը, տող:
Parameter- ը հայտնվեց JQuery-1.9.0- ում, թույլ է տալիս նշել սերվերին («գրառումը», «Ստացեք» հարցման տեսակը («Ստացեք», «Ներդրեք») - mimetype.
Տեսակը, տող:
Պարամետրը հայտնվեց JQuery-1.5.1-ում: Այս ոլորտում կարող եք նշել այն տվյալների տեսակը, որում սերվերից պատասխանը սպասվում է XHR- ի փոխարեն - Գաղտնաբառ
Տեսակը, տող:
Եթե \u200b\u200bանհրաժեշտության դեպքում սերվերի նույնականացման գաղտնաբառ: - processdata. (Լռելյայն ճշմարիտ)
Տեսակը, տրամաբանական արժեք:
Ըստ լռելյայն, սերվերին փոխանցվող տվյալները փոխարկվում են հարցման տողի (URL ձեւաչափի) օբյեկտից (URL ձեւաչափ: FNAME1 \u003d VEALE1 & FNAME2 \u003d VEALE2 & ...): Եթե \u200b\u200bՁեզ անհրաժեշտ է ուղարկել DOM փաստաթուղթ կամ այլ տվյալներ, որոնք չեն կարող փոխարկվել `պրոցեսդատայի տարբերակը կեղծելու համար: - scriptcharset.
Տեսակը, տող:
Կիրառվում է միայն Ajax- ի հարցումների համար, տվյալների շտեմարանը կարող է լինել կամ «JSONP» կամ «սցենար»: Եթե \u200b\u200bերրորդ կողմի տիրույթում սերվերը օգտագործում է ձեր կոդավորումը, քան ձերը, ապա պետք է նշեք երրորդ կողմի սերվերի կոդավորումը: - Կարգավիճակի կոդ:
Տեսակը, օբյեկտ:
Պարամետրը հայտնվեց JQuery-1.5.0- ում մի շարք գոլորշու մեջ, որում հարցման կոդերը համեմատվում են այն գործառույթների հետ, որոնք առաջանալու են: Օրինակ, 404 կոդի համար (գոյություն չունեք), կարող եք հաղորդագրություն ուղարկել էկրանին.$ .ajax (statuscode: (404: Function () (Alert ("էջը չի գտնվել");));
$ Ajax ((
statuscode: (
404. Գործառույթ () (
alert («էջը չի գտնվել»);
} ) ;
Եթե \u200b\u200bհարցումն անցավ հաջողությամբ, ապա որպես պարամետր, Անանուն գործառույթ Նույն պարամետրերը կպահանջվի, որ հարցման հաջող կատարման գործառույթները (սահմանված են հաջողության պարամետրով), եւ սխալի գործառույթների դեպքում: - Հաջողություն (տվյալների, textstatus, JQXHR)
Տեսակը, գործառույթ, զանգված:
Այն գործառույթը, որը կանչվելու է սերվերի պահանջի հաջող ավարտի դեպքում: 3 փաստարկ է տանում.- Սերվերի եւ նախնական մշակման տվյալների (տվյալներ).
- լարային կատարման կարգավիճակով (textstatus);
- jQXHR օբյեկտ (JQXHR- ի փոխարեն 1.5 տարբերակներով) օգտագործում է xmlhttprecest): JQuery 1.5-ից `մեկ գործառույթի փոխարեն, այս պարամետրը կարող է գործառույթների շարք վերցնել:
- Ընդմիջում.
Տեսակը, համարը:
Ժամանակը սպասելով Server- ի պատասխանը Milliseconds- ում: Վերաշարադրել Գլոբալ պարամետր Նույն պարամետրը $ .ajaxsetup (): Եթե \u200b\u200bայս անգամ գերազանցվի, հարցումը կավարտվի սխալմամբ, եւ տեղի կունենա սխալի միջոցառումը, որը կունենա «ժամկետում» կարգավիճակը:
Ժամանակը հաշվում է $ .AJAX գործառույթը զանգահարելու պահից: Կարող է պատահել, որ այս պահին կմեկնարկվեն մի քանի այլ դիմումներ, եւ զննարկիչը հետաձգելու է ընթացիկ հայցի կատարումը: Այս դեպքում դադարեցումը կարող է ավարտվել, չնայած փաստորեն, հարցումը նույնիսկ չի սկսվել:
JQuery-1.4- ում եւ ավելի երիտասարդ, սպասման ժամանակի վերջում XMLHTTPREQUEST օբյեկտը կվերափոխվի սխալի վիճակին եւ դրա դաշտերի հասանելիությունը կարող է բացառություն առաջացնել: Firefox 3.0+ ում սցենարի եւ JSONP հարցումները չեն ընդհատվի, երբ սպասման ժամանակը գերազանցվի: Դրանք կավարտվեն նույնիսկ այս անգամ լրանալուց հետո: - Ավանդական
Տեսակը, տրամաբանական արժեք:
Սահմանեք այս պարամետրի արժեքը ճշմարիտ, որպեսզի օգտագործվի ավանդական փոխակերպման պարամետրերը (սերիալացում): - Տիպ(Լռելյայն. «Ստացեք»)
Տեսակը, տող:
Անալոգային պարամետրերի մեթոդը: Պարամետրը օգտագործվում է jQuery- ում 1.9.0-ից ցածր - url (Լռելյայն. Ընթացիկ էջի հասցեն)
Տեսակը, տող:
Սահմանում է այն հասցեն, որով ուղարկվելու է հարցումը: - Օգտագործողի անունը.
Տեսակը, տող:
Անհրաժեշտության դեպքում սերվերի նույնականացման օգտվողի անուն: - xHR(Լռելյայն. IE- ում ActiveXobject- ում, XMlhttpeQuest- ը այլ զննարկիչներում)
Տեսակը, գործառույթ:
Գործառույթ, որը կապահովի Xmlhttprecest օբյեկտ: Լռելյայն, այս առարկան ActiveXobject- ն է, եւ այլ դեպքերում այն \u200b\u200bxmlhttprecest է: Այս պարամետրով դուք կարող եք իրականացնել այս օբյեկտի ձեր սեփական տարբերակը: - xhrfields.
Տեսակը, օբյեկտ:
Պարամետրը հայտնվեց JQuery-1.5.1-ում մի շարք զույգերով (Անուն, նշան) `օբյեկտի ռեժիմի համապատասխան դաշտերի արժեքները փոխելու / ավելացնելու համար: Օրինակ, դուք կարող եք ճշգրիտ կերպով սահմանել դրա հետ կապված գույքը, խաչմերուկի հարցումը կատարելիս.$ .ajax ((URL: A_Cross_domain_url, Xhrfields:
$ Ajax ((
uRL: A_Cross_domain_url,
xhrfields. (
Հետվիրահատականներ. True իշտ է:
} ) ;
Ինչպես նշվեց վերեւում, $ .AJAX () առավել հիմնական մեթոդը, եւ հետագա բոլոր մեթոդները միայն դրա փաթաթան են: Շատ մի մասն է պետք այս գործառույթը անվանել, քանի որ Կան ավելի բարձր մակարդակի այլընտրանքներ, ինչպիսիք են եւ. Դրանք ավելի հեշտ են հասկանալու եւ օգտագործման մեջ, չնայած $ .AJAX () ավելի ճկուն լուծում է:
Օգտագործման ամենահեշտ ձեւը կկազմի $ .ajax () Զանգ, առանց պարամետրերի ճշգրտման.
$ Ajax (); |
Միջոցառումներ
Տեղակայել, սխալ, տվյալների շտեմարանի պարամետրերը, հաջողությունները եւ ամբողջական թույլ են տալիս տեղադրել միջոցառման պահարաններ, որոնք տեղի են ունենում Ajax- ի յուրաքանչյուր հարցման որոշակի ժամանակներում:
- Տեղադրեք:տեղի է ունենում անմիջապես սերվերին խնդրանք ուղարկելուց առաջ.
- Սխալ տեղի է ունենում հարցման անհաջող կատարման դեպքում.
- datafilter. տեղի է ունենում սերվերից տվյալներ ժամանելու պահին: Թույլ է տալիս կարգավորել սերվերի կողմից ուղարկված «հում» տվյալները.
- Հաջողություն: տեղի է ունենում հարցման հաջող ավարտի դեպքում.
- Ամբողջական:տեղի է ունենում խնդրանքի ցանկացած ավարտի դեպքում: Հաջողություն. Գործառույթ () (
- «XML» - Արդյունքում XML փաստաթուղթը հասանելի կլինի տեքստի տեսքով: Դուք կարող եք աշխատել նրա հետ Ստանդարտ միջոցներ jQuery (ինչպես նաեւ HTML փաստաթղթով):
- «HTML» - Ստացված HTML- ը հասանելի կլինի տեքստի ձեւով: Եթե \u200b\u200bայն պարունակում է գրություններ պիտակներով
Սերվերի կայքում ինչ-որ բանի քանակը 2.ru -
Ահազանգ ( «Տվյալները հաջողությամբ ուղարկվել են»:) ;
} ) ;
Ուշադրություն Վերեւում քննարկված պարամետրերը (), ..-) ավելացվել են jQuery-1.5- ին, բացի `ստանդարտ հետաձգված օբյեկտի մեթոդից: Done (), .fail () I. Այն, ինչ դուք կարող եք տեղադրել բեռնափոխադրողներ, սկսած jQuery-1.8- ից, այս երեք մեթոդները անցանկալի կլինեն օգտագործման համար:
Տվյալների շտեմարան
$ .AJAX () գործառույթը կիմանա ինքնուրույն սերվերից ուղարկված տվյալների սերվերի տեսակի մասին (MIME գործիքներ): Բացի այդ, հնարավոր է անձամբ նշել (պարզաբանել) Ինչպես մեկնաբանել այս տվյալները: Դա արվում է պարամետրից օգտվելու միջոցով: Տվյալների շտեմարան, Այս պարամետրի հնարավոր արժեքները.