alireza
5 سال پیش توسط alireza مطرح شد
4 پاسخ

استفاده از vue و axios در لاراول

دوستان من یه فرمی رو با ویو ساختم بعد الان میخوام پست کنم به سرور مشکل اینجاس از کجا میشه به وسیله کوکی ذخیره شده تو مرورگر که قبلا کاربر توسط اون لاگین شده بفهمم از سمت کدوم کاربر هستش این درخواست به api راهی هست که توی درخواست های api با استفاده از متود auth()->$id اطلاعات اون شخص رو به دست آورد با همین یبار لاگینی که شده و نیاز به توکن نباشه


ثبت پرسش جدید
محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 5 سال پیش آپدیت شد
0

@alirezaashrafi.email
اگر منظورت اینه که وقتی از طریق Vuejs یک فرم submit میشه و میفرستی به سمت php توسط axios خب خیلی راحت سمت php میتونی بازم از کد :

Auth::id()

استفاده کنی دیگه. این کد ربطی به اینکه submit از php شده یا توسط ajax فرستادی نداره که.تو با این کد می تونی id کاربری که login هست رو بدست بیاری.
چون تو ajax رو هم داری به یک route میفرستی و اون route داره به یک controller اشاره می کنه. خب این دقیقا شد همون submit توسط php و هیچ فرقی نداره.


محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 5 سال پیش مطرح شد
0

من منظورتون رو دقیق متوجه نشدم ولی این مورد رو میگم شاید به دردتون خورد :
1 : ابتدا موقع ورود کاربران گزینه remember رو فعال کنید تا کاربر همیشه به صورت login باقی بمونه و اینجوری می تونید با تعریف یک Route، از طریق Vue به اطلاعات کاربر دسترسی پیدا کنید.

Route::get('user_info', 'ControllerName@user_info')->name('get_user_info')->middleware('auth');

Controller :

public function user_info(){
    return Auth::user();
}

alireza
@alireza1717 5 سال پیش آپدیت شد
0

@dr-code.ir

دستت درد نکنه محمد جان ولی منظورم این نیست
وقتی کاربر با مشخصاتش لاگین هستش و remember زده فقط میشه فرم رو از پی اچ پی فرستاد و به auth()->user دسترسی داره
یعنی نوع فرم رو بزاری پست و به یکی از روتر ها پست رو بفرسته اون موقع دسترسی به اطلاعات کسی که فرستاده و ایدیش داریم

سوالم اینه اگه یه فرم رو از vue سابمیت کنیم و به وسیله php نباشه یعنی به صورت ایجکس اونوقت user id رو چطور وارد کنم و بفهمم کدوم یوزر فرم رو پر کرده


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

@alirezaashrafi.email
میتونید یه پراپرتی رو روی شی window بایند کنید.

<script>
    window.user = auth()->user()
</script>

و یا یک متغیر گلبال رو قبل از فایل app.js استفاده کنید شبیه زیر:

<script>
  let authuser = {!! Auth::user() ? : '[]' !!};
</script>
<script src="{{asset('js/app.js') }}"></script>

به این شکل در تمام کامپوننت‌ها به windows.user.id یا authuser.id دسترسی دارید


محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 5 سال پیش آپدیت شد
0

@alirezaashrafi.email
اگر منظورت اینه که وقتی از طریق Vuejs یک فرم submit میشه و میفرستی به سمت php توسط axios خب خیلی راحت سمت php میتونی بازم از کد :

Auth::id()

استفاده کنی دیگه. این کد ربطی به اینکه submit از php شده یا توسط ajax فرستادی نداره که.تو با این کد می تونی id کاربری که login هست رو بدست بیاری.
چون تو ajax رو هم داری به یک route میفرستی و اون route داره به یک controller اشاره می کنه. خب این دقیقا شد همون submit توسط php و هیچ فرقی نداره.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام