نمایش نتایج 1 تا 26 از 26

نام تاپیک: آجاکس در کدایگنایتر

  1. #1
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    آجاکس در کدایگنایتر

    سلام دوستان.
    من با آجاکس در کنترلر مشکل دارم .
    کد view:

    <div id="chat_input"> <input id="chat_message" name="chat_message" type="text" value="" tabindex="1" /> <?php echo anchor('#','SAY IT' ,array('title'=>'this is title' , 'id'=>'submit_message')); ?></div>


    کد js :

    $(document).ready(function(){

    $('#submit_message').click(function(){

    alert($('input#chat_message').val());
    return false;

    });
    });


    تا اینجا مشکلی نیست و کار میکنه ، اما وقتی بخوام با کنترلر کار کنم جواب نمیده :
    کد js اگه این باشه :

    $(document).ready(function(){

    $('#submit_message').click(function(){

    var message_post = $('input#chat_message').val();
    $.ajax({
    type:'POST',
    url : base_url + "chat/add",
    /* url:"http://localhost/mysite/CI-project/chat/add",*/
    data:{'message_post' : message_post},
    success: function(data){
    if(data == 1){
    alert('ok');
    }
    else
    {
    alert('no');
    }

    }
    });

    });
    });


    و controller ساخته شده بنام chat.php :

    public function add() { echo 'yes'; }


    با کلیک روی لینک , به url گفته شده نمیره و به صفحه ی اصلی و welcome میره .
    مشکل کجاست ؟
    ممنون میشم راهنمایی کنید .
    در ضمن url هم درسته , حتی بدون base_url هم امتحان کردم نتیجه نداد .

  2. #2
    کاربر دائمی آواتار engmmrj
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    1,146

    نقل قول: آجاکس در کدایگنایتر

    CSRF فعال هست ؟ تو Console اررو چی میده ؟

  3. #3
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    بله true هست :

    $config['csrf_protection'] = TRUE;$config['csrf_token_name'] = 'csrf_test_name';$config['csrf_cookie_name'] = 'csrf_cookie_name';$config['csrf_expire'] = 7200;


    اصلا خطایی اتفاق نمیفته , فقط انگار url رو نمیشناسه که بره به کنترلر مربوطه .
    میره صفحه ی اصلی welcome .
    تو کنسول خطایی ندیدم .
    چطوری باید چک کنم ؟

  4. #4
    کاربر دائمی آواتار engmmrj
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    1,146

    نقل قول: آجاکس در کدایگنایتر

    اگر میخواین از ajax post استفاده کنید باید داخل دیتا ها token csrf ci رو ارسال کنید چون وقتی csrf فعال باشد هر در خواست post که ارسال میشه token اون درخواست هم چک میشه .
     var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>"

  5. #5
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    ممنونم ولی درست نشد .
    اولش false بود که نتیجه نمیداد .
    بعد true کردم و کد js رو به این شکل نوشتم و باز نتیجه نداد :

    $(document).ready(function(){

    $('#submit_message').click(function(){


    var message_post = $('input#chat_message').val();
    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>",

    $.ajax({
    type:'POST',
    url:"http://localhost/mysite/CI-project/chat/add",
    data:{'message_post' : message_post ,'cookie_csrf',cookie_csrf},
    success: function(data){
    if(data == 1){
    alert('ok');
    }
    else
    {
    alert('no');
    }

    }
    });

    });
    });


    البته من اصلا نمیدونم مبحث token برای چیه , ولی با غیر فعال بودنش هم نتیجه نداد .

  6. #6
    کاربر دائمی آواتار engmmrj
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    1,146

    نقل قول: آجاکس در کدایگنایتر

    کد jquery تون هم مشکل داشت ، کد زیر رو تست کنید
    $(document).ready(function(){

    $('#submit_message').click(function(e){
    e.preventDefault();

    var message_post = $('input#chat_message').val();
    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>",

    $.ajax({
    type:'POST',
    url:"http://localhost/mysite/CI-project/chat/add",
    data:{message_post : message_post ,csrf_test_name : cookie_csrf},
    success: function(data){
    if(data == 1){
    alert('ok');
    }
    else
    {
    alert('no');
    }

    }
    });

    });
    });

  7. #7
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    ممنونم ولی نمیدونم چرا جواب نمیده . بازم میره صفحه ی اصلی .
    این تکه کد کار میکنه :

    $(document).ready(function(){ $('#submit_message').click(function(){ alert($('input#chat_message').val()); return false; });});


    ولی وقتی آجاکس وارد میشه دیگه کار نمیکنه ،

  8. #8

    نقل قول: آجاکس در کدایگنایتر

    یک بار اون آدرس رو که با ajax فراخونیش میکنین دستی در مرورگر بزنین ببینین اصلا باز میشه یا نه.

  9. #9
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    بله اینو هم تست کرده بودم باز میشه و مشکلی نداره

  10. #10
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: آجاکس در کدایگنایتر

    تو فایرباگ چک کردی ؟
    اگه میتونی یجا آنلاینش کن

  11. #11
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    اينجا گذاشتم .
    ممنون ميشم نگاه كنيد

  12. #12

    نقل قول: آجاکس در کدایگنایتر

    اینجای فایلtest.js اشتباهه:

    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>",

    باید اینجوری باشه:
    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>";

  13. #13
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    ممنونم ولی انگار ارتباطی به خطای syntax ای نداره ، باز هم نتیجه نداد .
    دوستان کار با آجاکس تو کدایگنایتر نکته ی خاصی داره ؟
    چیزی باید true یا فعال بشه ؟
    جستجو هم کردم بی نتیجه بود .

  14. #14
    کاربر دائمی آواتار engmmrj
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    1,146

    نقل قول: آجاکس در کدایگنایتر

    علت اینکه کار نمیکنه انکه شما کدهارو توی یک فایل js گذاشتی و تو فایل js دستورات php کار نمیکنه ، لطفا اون کدی من بهتون دادم رو توی صفحه html بگذارید و تست کنید اگر هم نشد آپلود کنید تا بررسی کنیم .

  15. #15
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    ممنونم .
    منظورتون از اینکه تو صفحه ی html بزارم چیه ؟
    فایل view من اسمش هست chat.php که در اون ، این فایل js رو لود کردم .
    یعنی کدهای js رو تو یک صفحه با پسوند html ذخیره کنم و در فایل view با include فراخوانی کنم ؟
    برام مبهمه ، ممنون میشم بیشتر توضیح بدید .

    در ضمن من چند نمونه کد دیدم که شبیه همین کاری که انجام دادم نوشتند ، یعنی فایل js رو فراخوانی کردند و ajax کار کرده .

  16. #16

    نقل قول: آجاکس در کدایگنایتر

    شما چرا تو فایل js از php کار گرفتی ؟؟؟

    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>",

  17. #17
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    اینو دوستان گفتن ،
    کد اول منو دیدید ؟
    اونجا php نداره ولی باز کار نمیکنه ...

  18. #18
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: آجاکس در کدایگنایتر

    این کد نمونه ای که آنلاین کردین که مشکل سینتکس داره و کلا اجرا نیمشه

    درستش کن اونجات که نوشتی

    'cookie_csrf',cookie_csrf


    باید بشه

    'cookie_csrf':cookie_csrf


    دوم اینکه وقتی شما بری کد ها رو تو فایل .js بزاری دستورات php هیچکدوم کار نمیکنن از جمله base_url تو نمونه کدی که اول گزاشتی هم اشتباه نوشتی
    کد HTML:
     url : base_url + "chat/add",
    باید بنویسی
    کد HTML:
     url : + "<?php echo base_url(); ?>chat/add",

    اینو بزار توی خود صفحت و اون فایل test.js رو پاک کن




    $(document).ready(function(){

    $('#submit_message').click(function(){
    var message_post = $('input#chat_message').val();
    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>";
    $.post( "<?php echo base_url(); ?>chat/add" , {message_post: message_post ,cookie_csrf:cookie_csrf} , function(data){
    if(data == 1)
    alert('ok');
    else
    alert('no');
    })
    });
    });





    --------------------------------------------------------------

    در ضمن من تا به حال از crf استفاده نکردم و نمیدونم اینکه شما نوشتی

    کد HTML:
            var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>";
    آیا درسته یا نه و اصلا
    $_COOKIE['csrf_cookie_name']


    خروجی داره یا اررور میده (که در صورت اررور دادن میتونه کل تابع ایجکس رو مختل کنه )

    ولی
    1 : یبار تو صفحه همنیجوری پرینتش کن ببین خروجیش چیه که مطمئن بشی خروجی درستی داره بعد بزارش تو تابج جاوا اسکریپتت
    2 : اینجوری که من دیدم تو سرچ هام به نظر میاد درستش اینه :

    $this->security->get_csrf_token_name();
    آخرین ویرایش به وسیله plague : شنبه 20 اردیبهشت 1393 در 17:14 عصر

  19. #19
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    مشکل سینتکس رو حل کردم ، با این و بدون این کد هم امتحان کردم : (در هلپر هم cookie لود شده)

    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>";


    کدهایی که گفتید رو جایگزین کردم ؛
    این هم خروجی داشت :

    $_COOKIE['csrf_cookie_name']


    ولی باز جواب نمیده ،(البته آنلاینش نکردم)

    من یک فیلمی دیدم ، مثل این هم مینوسیم باز جواب نمیده ، از json استفاده کرده :
    عکس قسمت js رو گذاشتم :
    کد من با توجه به فیلم :

    $(document).ready(function(){

    $('#submit_message').click(function(){
    var message_post = $('input#chat_message').val();
    $.post( base_url + "chat/add" , {message_post: message_post} , function(data){
    alert(data) ;
    },"json");
    return false;
    });
    });
    عکس های ضمیمه عکس های ضمیمه

  20. #20
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    اگر ممکنه یک نمونه کد ساده که اطلاعات رو از فایل js به کنترلر بفرسته و بعد در view نمایش بده ، لطفا بدین تا اونو تست کنم .
    یک خط کد ساده که با base_url مشکلی نداشته باشه و تو سیستم خودتون کار کنه .
    و اگه نیازی نیست CSRF هم false باشه و از cookie استفاده نشه .
    ممنون میشم . کارم به خاطر این آجاکس متوقف مونده .

  21. #21
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: آجاکس در کدایگنایتر

    میشه بگی این یعنی چی ؟

    کد HTML:
     base_url + "chat/add"

    base_url رو از کجا آوردی ؟

    من کد رو بهت دادم بالا حالا شما حالش رو نداری آنلاین کنی دیگه ....

  22. #22
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    اون کد که گفتید یعنی چی از تو فیلم های آموزشی و کدهای دیگران دیدم ...
    من هم اومدم یاد بگیریم ...

    کد شما رو آنلاین گذاشتم .
    CSRF هم false هست و از این کد هم چون شما گفتین استفاده نمیکنید ، استفاده نکردم ( پیشنهاد دوستان دیگه بود )

    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>";




  23. #23
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: آجاکس در کدایگنایتر

    در مورد کدی که انلاین کردی :
    من که بهت گفتم تو خوده صفحه بزار ! وقتی تو فایل .js بزاری کار نمیکنه کد های php
    شما که باز رفتی کد من رو گزاشتی تو فایل .js

    اونم راه داره ولی براشمایی که تو js مبتدی هستی فعلا تو خوده صفحت بزار کد رو


    اون کد که گفتید یعنی چی از تو فیلم های آموزشی و کدهای دیگران دیدم ...
    من هم اومدم یاد بگیریم ...
    خب کامل نگاه نکردی
    اونی که آموزش داده حتما یجا نوشته

    var base_url = '<?php echo base_url(); ?>';


    که تونسته بعدش بنویسه آدرس رو به این شکل


     base_url + "chat/add"

  24. #24
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    گذاشتم تو خود صفحه .
    الان تو کنسول این خطا رو میده :
    event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
    ------------------------

    ویرایش :

    جستجو کردم این تاپیک انگار میگه باید یک ورژن دیگه ای از library لود بشه :
    http://code.jquery.com/jquery-git.js

    این رو لود کردم ؛ الان خطای کنسول ندارم ولی alert(no ) اجرا میشه .
    آنلاینه :
    آخرین ویرایش به وسیله pary_daryayi : دوشنبه 22 اردیبهشت 1393 در 12:23 عصر

  25. #25
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: آجاکس در کدایگنایتر

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

                 url : base_url + "chat/add",


    رو اشتباه نوشتی برای این ارسال نمیشه

    اون base_url رو وقتی به این شکل بنویسی یعنی یه متغیر جاوا اسکریپته که مقداری توش داره
    در حالی که شما این متغییر رو تعریف نکردی اصلا و مقداری نداره (در پست قبل گفتم چجوری )


    -------------
    شما اگه میخای توی فایل .js ببری کد هات رو باید مقادیری که از php میگیری رو قبل از فراخانی اون فایل .js بریزی توی متغیر های جاوا اسکریپتی گلوبال (خارج از هرگونه اسکوپ کد - {}) اونوقت صفحه .js رو ضمیمه کنی تو کدت و توی اون درسته که به متغیر های php دسترسی نداری ولی متغیر های جاوااسکریپتی معادلشون رو داری






    کد HTML:
    <Script>
    var base_url = '<?php echo base_url(); ?>';
    var cookie_csrf ="<?PHP echo($_COOKIE['csrf_cookie_name']);?>"; 
    </script>
    
    <script src="test.js" ></script>

  26. #26
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: آجاکس در کدایگنایتر

    تقریبا حل شد ، ازتون ممنونم که وقت گذاشتین و راهنمایی کردید .

تاپیک های مشابه

  1. آموزش برای آجاکس نویسان
    نوشته شده توسط ehsan2007 در بخش طراحی وب (Web Design)
    پاسخ: 18
    آخرین پست: سه شنبه 25 دی 1386, 21:52 عصر
  2. نظر سنجی در مورد ساخت تاپیک در مورد آجاکس ajax
    نوشته شده توسط ehsan2007 در بخش ASP.NET Web Forms
    پاسخ: 13
    آخرین پست: پنج شنبه 10 آبان 1386, 19:58 عصر
  3. باز کردن فایل .js که کدهای آجاکس در اون قرار داره
    نوشته شده توسط hamhik در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: شنبه 25 آذر 1385, 20:44 عصر
  4. آجاکس و ارسال پست
    نوشته شده توسط hamhik در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: یک شنبه 19 آذر 1385, 21:41 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •