YII မူဘောင်တွင် Controller များသည်တောင်းဆိုမှုများကိုကိုင်တွယ်ရန်အတွက်အထူးသဖြင့် Ajax တောင်းဆိုမှုများကိုကိုင်တွယ်သည့်အခါတွင်အဓိကအစိတ်အပိုင်းများဖြစ်သည်။ ဤဆောင်းပါးသည် Ajax တောင်းဆိုမှုများကိုကိုင်တွယ်ရန် YII မူဘောင်ရှိ Controller ကို အသုံးပြု. ဤလုပ်ဆောင်မှုကိုအလျင်အမြန်အကောင်အထည်ဖော်ရန်သင့်တော်သောသက်ဆိုင်ရာကုဒ်များဥပမာများကိုဖြည့်ဆည်းပေးနိုင်သည်ကိုအသေးစိတ်မိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာသင်သည် Controller အတန်းကိုဖန်တီးရန်လိုအပ်သည်။ YII မူဘောင်တွင်ကျွန်ုပ်တို့သည်များသောအားဖြင့် Yii \ Web \ Controller ၏အတန်းကိုအမွေဆက်ခံခြင်းဖြင့်ထုံးစံ controller များကိုဖန်တီးလေ့ရှိသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် `sitecontroller` ဟုခေါ်သော Controller ကိုဖန်တီးနိုင်သည်။
အများပြည်သူလုပ်ဆောင်ချက် actionajaxrequest () { // AJAX တောင်းဆိုမှုများကိုပြုပြင်ရန်အတွက်ယုတ္တိဗေဒ}
Controller Class တွင် `attajaxrequest` ဟုခေါ်သောအများပြည်သူဆိုင်ရာနည်းလမ်းတစ်ခုကိုဖန်တီးရန်လိုအပ်သည်။ ၎င်းသည် Ajax တောင်းဆိုမှုများကိုကိုင်တွယ်ရန်အသုံးပြုလိမ့်မည်။ YII မူဘောင်တွင် "လုပ်ဆောင်ချက်" ဖြင့်စတင်သောနည်းလမ်းများအားလုံးသည် Controller ၏လုပ်ရပ်များ (လုပ်ဆောင်ချက်) အဖြစ်အလိုအလျောက်အသိအမှတ်ပြုသည်။
လုံခြုံရေးသေချာစေရန်ကျွန်ုပ်တို့သည် Ajax တောင်းဆိုမှုတစ်ခုစီအတွက် CSRF အမှတ်အသားကိုထုတ်လုပ်ရန်နှင့်စစ်ဆေးရန်လိုအပ်သည်။ Yii မူဘောင်သည် Yii မှ Yii \ web \ တောင်းဆိုချက် :: EnableCsRFValidation () `` `` `` `method ကို။ များသောအားဖြင့်ကျွန်ုပ်တို့သည် CSRF ကို CSRF အတည်ပြုခြင်းအား Controller ၏ `beeac ရိယာ ()` method:
အများပြည်သူလုပ်ဆောင်မှု beeprection ($ action) { အကယ်. ($ account-> ID === '' Ajaxrequest ') လျှင် $ -> EnableCsRFValidation = false; } Reward Parent :: brecoaction ($ action); }
`` AttotajaxreQuest () `method တွင် Ajax တောင်းဆိုမှုရှိ parameters တွေကိုရယူရန်နှင့်သက်ဆိုင်သောအချက်အလက်များကိုပြန်ပို့ရန် YII မှပေးသော` `` တောင်းဆိုချက်ကိုအသုံးပြုသည်။ Ajax တောင်းဆိုမှုများကိုကိုင်တွယ်ရန်အတွက်နမူနာကုဒ်ဖြစ်သည်။
အများပြည်သူလုပ်ဆောင်ချက် actionajaxrequest () { $ request = Yii :: $ app-> တောင်းခံခြင်း, // AJAX တောင်းဆိုမှု parameter $ param1 = $ တောင်းဆိုမှု -> Post ('param1'); $ Param2 = $ တောင်းဆိုမှု -> POST ('Param2'); // အပြောင်းအလဲနဲ့တောင်းဆိုမှုယုတ္တိယုတ္တိ $ ရလဒ် =//. အပြောင်းအလဲအတွက်ယုတ္တိဗေဒ // ပြန်လာတုံ့ပြန်မှုအချက်အလက်များ Return Report Data Reward JSONS_CENDODE () $ ရလဒ် => $ ရလဒ်]; }
ရှေ့တန်းစာမျက်နှာတွင် Ajax တောင်းဆိုမှုများကိုပေးပို့ရန် JavaScript (jQuery) ကိုသုံးနိုင်သည်။ ဤတွင်ရိုးရှင်းသော Ajax တောင်းဆိုမှုဥပမာတစ်ခုဖြစ်သည်။
$ ။ ajaxax ({ url: "// site / ajax-corness", // agax တောင်းဆိုမှုလိပ်စာနည်းလမ်း - "post" {post "method method data: {Param1: value1", Param2: "value2"}, // တောင်းဆိုမှု parameter အောင်မြင်မှု - function (တုံ့ပြန်မှု) { // လုပ်ငန်းစဉ်တုံ့ပြန်မှုဒေတာ var ရလဒ် = JSONS.Parse (တုံ့ပြန်မှု); console.log (ရလဒ်); } });
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် post တောင်းဆိုမှုကို `site / Ajax-assess` တောင်းဆိုမှုသို့ပို့ပြီး parameters` param1` ကို parametes နှစ်ခုကိုဖြတ်သန်းပါ။
အထက်ပါအဆင့်ငါးဆင့်မှတစ်ဆင့် Ajax တောင်းဆိုမှုများကိုကိုင်တွယ်ရန် YII မူဘောင်တွင် Controller ကိုအောင်မြင်စွာဖန်တီးနိုင်သည်။ Controller ရှိ `actionajajaxrequest` နည်းလမ်းသည် Ajax တောင်းဆိုမှုကိုပြန်လည်တောင်းခံပြီးသက်ဆိုင်ရာအချက်အလက်များကိုပြန်ပို့ပေးလိမ့်မည်။ ဤဆောင်းပါးတွင်ပါ 0 င်သောသင်္ကေတများသည် YII မူဘောင်တွင် Ajax တောင်းဆိုမှုများကိုမည်သို့ကိုင်တွယ်ရမည်ကိုပိုမိုနားလည်ရန်ကူညီလိမ့်မည်ဟုမျှော်လင့်ပါသည်။