آپلود فایل از طریق جی کوئری و اجکس

نوشته شده توسط بهنامی در ۱۱ فروردین ۱۳۹۳

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

چند وقت پیش من با یه موضوعی درگیر بودم به اسم آپلود فایل از طریق جی کوئری و اجکس و میشه گفت راه نبود که امتحان کنم و نتیجه اش راضی کننده باشه برام …

form data() رو امتحان کردم …ifram  رو امتحان کردم و روش های مختلف دیگه ای خلاصه دیگه لینکی نمونده بود که تو نتیجه جستجو گوگل اومده باشه و من سری نزده باشم بهش سرتون درد نیارم بعد از حدود یک ماه اینور اون ور زدن به این راه حل رسیدم که تقریبا منو راضی کرد و دلایلی که باعث شد من راضی بشم از این راه حل :

۱- اول اینکه به صورت اجکس میفرسته واقعا و پشتش هیچ دور زدن و کلکی سوار نشده :دی

۲- در تمامی مرورگر ها کار میکنه و مثل روش formdata نیست که تو اینترنت اکسپلورر (که لعنت خدا بر او باد)  کار نکنه تو همشون کار میکنه فقط تو همه مرورگر ها بدون بارگزاری مجدد صفحه کار میکنه و در اینترنت اکسپلورر یه رفرش کوچولو انجام میده به خاطر سابمیت صفحه

در ضمن خیلی خیلی راحت میشه باهاش پارامتر هم ارسال کرد به سمت سرور و در ان واحد میشه چندین فایل رو هم ارسال کرد…

این کد هستش :

<script type=”text/javascript”>

    $(document).ready(function () {

        $("#formsubmit").click(function () {

            var data = {id:”behnam”};

            var form = $(‘#theuploadform’);

            form.attr(“action”, “/testfileupload.aspx”);

            form.attr(“method”, “post”);

            form.attr(“enctype”, “multipart/form-data”);

            form.attr(“encoding”, “multipart/form-data”);

            form.attr(“file”, $(‘#File1’).val());

            form.ajaxSubmit({

                success: function () {

                    alert(“ok”);

                },

                data: data

            });


            return false;


        });


    });

</script>

فقط کافیه که تو صفحه تون ابجکت اپلود فایل رو قرار بدین و در سمت سرور با ریکوئست ،فایل ها تون رو بگیرید و ذخیره کنید

مطمئن هستم راه های بهتری هست و شما اون راه هارو یا بلد هستید یا پیدا خواهید کرد خوشحال میشم که راه هایی که ازش استفاده میکنید رو بگید تا من هم یاد بگیرم 🙂

۳ دیدگاه دسته‌بندی : جی کوئری

۳ دیدگاه برای “آپلود فایل از طریق جی کوئری و اجکس”

  1. حامد کلکی گفت:

    با سلام. وقتی فرم رو یکبار با این تابع ajaxSubmit ارسال میکنیم و خطایی نشان میدهیم بار دوم این تابع نمی تواند مقادیر برگشتی از سرور را را نمی تواند دریافت کند خواه آن Json باشد یا Html.
    ممنون میشم پاسختان را برای من ارسال نمایید.

    • بهنام گفت:

      براتون ایمیل زدم چک بکنید لطفا
      من منتظر جواب ایمیل هستم 🙂

      • حامد ملکی گفت:

        بله متشکرم. مورد حل شد که نتیجه رو براتون ایمیل کردم. مشکل از اون جا بود که iframe رو توی options تابع ajaxSubmit معادل true گذاشته بودم.

        form.ajaxSubmit({
        url: form.attr(“action”),
        iframe: false,
        iframeSrc: form.attr(“action”),
        type: “post”,
        dataType: ‘json’,
        success: processJson,
        error: function (xx) {
        console.log(xx);
        logger.logError(xx);
        }
        });

        که بعد از false کردن iframe مشکل حل شد.

دیدگاه‌تان را ارسال کنید ...