رضا پارسیان
3 سال پیش توسط رضا پارسیان مطرح شد
9 پاسخ

پارس شدن براکت در ویو

سلام
من یه دونه کامپوننت دارم که یکسری اطلاعات ارسال کردم بهش
که قراره توی تگ pre بگیره
تا اینجا مشکلی نیست داده ها درست نشون داده میشه ولی زمان ویرایش و بارگذاری دوباره توی کامپوننت سعی میکنه یکسری از داده هارو تبدیل کنه
مثل

{{ csrf_token() }}

که خطای زیر رو نشون میده!

[Vue warn]: Property or method "csrf_token" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.
[Vue warn]: Error in render: "TypeError: csrf_token is not a function"
TypeError: csrf_token is not a function

از v-pre هم استفاده کردم اما متاسفانه این داده قراره توی یک textarea بارگذاری بشه و کاری از v-pre ساخته نیست

این هم داده من هست!

\\`\\`\\`
<form method="POST" action="/profile">  
    @csrf  

    <!-- Equivalent to... -->  
    <input type="hidden" name="_token" value="{{ csrf_token()}}" />  
</form>
\\`\\`\\`

البته داده دچار تغیر شده توی لاراول.

چطوری میتونم جلوی پارس شدن یکسری داده هارو گرفت؟


ثبت پرسش جدید
حسین
@h.j432 3 سال پیش مطرح شد
0

مطمعن نیستم مشکلتونو فهمیده باشم ولی
اگه داده ای رو به Compoent vue پاس دادین نمیتونین مستقیم تغییرش بدین باید یک function هم به compoent پاس بدین که درون اون function دیتا رو update کنین


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش مطرح شد
0

شما توی هدر سایتت csrf توکن رو بذار و موقعی که درخواست ایجکس میفرستی در قسمت هدر درخواستت اون csrf توکن رو بگیر و بفرست.

data() {
    return {
        csrf: document.querySelector('meta[name="csrf-token"]').getAttribute('content')
    }
}

یک روش دیگه هم بود الان خاطر ندارم میتونی توی کانفیگ فایل axios این هدر رو همیشه داشته باشی و نیازی نیست توی هر درخواست این هدر رو بگیری و بفرستی


رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 3 سال پیش مطرح شد
0

@juza66
@h.j432

من نمی‌خوام که csrf_token رو بگیرم

میخوام یک تیکه کد نشون کاربر بدم
ولی نمیذاره


متین طیبی نیا
تخصص : backend
@MatinTayebi 3 سال پیش مطرح شد
0

سلام
ببخشید این دیتا از سمت سرور میاد ؟

<form method="POST" action="/profile">  
    @csrf  

    <!-- Equivalent to... -->  
    <input type="hidden" name="_token" value="{{ csrf_token()}}" />  
</form>

و شما میخواید هیچ کدوم از این دیتا ها در vue پردازش نشه !
دیتا به چه صورتی به vue ارسال میشه ؟


رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 3 سال پیش مطرح شد
0

@MatinTayebi
سلام این دیتا ها توی ‌blade و بین ۲ تا تگ vue قرار میگیره!
به صورت slat اگر اشتباه نکنم


متین طیبی نیا
تخصص : backend
@MatinTayebi 3 سال پیش مطرح شد
0

@Rp76
سلام وقتی در بین تگ های vue نوشته میشه helper های لاراول مثل csrf_token در لاراول پردازش نمیشه بلکه داخل vue پردازش میشه بخاطر همینه که vue به شما خطا میده که من این متغیر یا فانکشن نمیشناسم .
شما میخوایید csrf_token به کاربر نمایش بدین ؟


رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 3 سال پیش مطرح شد
0

سلام دوباره
@MatinTayebi نه حاجی من نمیخوام این کد کار کنه!
الان به این صورته میگه این متغیری که دادی وجود نداره!
و خطا میده و هیچی رندر نمیشه!
درحالی که اصلا قرار نیست این کلمه تبدیل بشه


متین طیبی نیا
تخصص : backend
@MatinTayebi 3 سال پیش آپدیت شد
0

@Rp76
پروژه میتونی ارسال کنی ؟


رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 3 سال پیش مطرح شد
0

@MatinTayebi

این ادرس پروژه.
https://github.com/RezaParsian/Rp76Blog/

من فعلا امدم با یک replace ساده این مشکل رو حل کردم!
مشکلی که الان وجود داره توی ادرس زیر هست
resources/views/dashboard/article/
بیشتر توی ویرایش


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

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