راکت
alirezaMoseni
alirezaMoseni
توسط alirezaMoseni مطرح شد
4 پاسخ

خالی بودن متغییر Post در پیام Ajax

سلام خسته نباشید
توی یه صفحه از سایتم میخوام که یه json رو با استفاده از ajax به سرور انتقال بدم
ajax هم با موفقیت و بدون اررور به سرور میرسه اما متغییر $_POST خالیه و هیچی توش نیست
وقتی از متد get استفاده میکنم json بدون هیچ مشکلی به سرور میرسه اما چون حجمش زیاده ارروره (Request-URI Too Long) میده
کدهای php:

<?php
    session_start();
    if ($_SESSION['user'] != 'admin') {
        header("location:login.php");
    }
    include 'connect.php';
    if (isset($_POST['mydata'])) {
        ...
    }
    var_dump($_POST);
?>

کدهای js:

$('#submit').click(function () {
    $.ajax({
        type: 'POST',
        url: "excelfaragiran.php",
        data: oJS,
        success: function (msg) {
            console.log(msg);
        }
    });
});

خیلی در موردش سرچ کردم اما به نتیجه ای نرسیدم و دیگه شما آخرین امیدم هستین :))


ثبت پرسش جدید
محمدحسن یگانه
محمدحسن یگانه
تخصص :Full-Stack Web Developer Freelancer
@mhyeganeh7 سال پیشمطرح شد
1

مواردی که به ذهنم میرسه:

۱- یک خط بالاتر از ارسال درخواست ajax آبجکت oJS تون رو در کنسول لاگ کنید و از چیزی که داره ارسال میشه مطمئن بشید.
۲- یک محتوای hard code شده و خیلی ساده در data قرار بدید و ببنید بازهم $_POST خالی هست یا نه.
۳- شاید کمی عجیب باشه ولی مقدار POST رو به post تغییر بدید و مجدد امتحان کنید.
۴- تا جایی هم که مشخصه از هیچ فریم ورک php استفاده نمیکنید و کاملا pure هست. ولی اگر غیر این حالت هست توجه داشته باشید که معمولا در درخواست هایی از نوع POST یک سری مسائل اضافه تر برای امنیت بیشتر وجود داره. مثلا در لاراول همراه هر درخواست پست باید CSRF_TOKEN هم ارسال بشه و الا کلا درخواست اجرا نخواهد شد.


alirezaMoseni
alirezaMoseni
@alireza.moseni7 سال پیشمطرح شد
0

@mhyeganeh سلام
اول ممنون که وقت گذاشتی و راهنمایی کردی
به جز مورد 3 همه راه هارو امتحان کرده بودم و نتیجه ای نداشتن
شاید باورتون نشه اما

url: "excelfaragiran.php"

رو به

url: "excelfaragiran"

تغییر دادم درست شد :| :|
اما برخلاف تصورم متغییر post هم محدودیت داشت و اررور داد و مجبور شدم از php.ini مقدار max_input_vars رو از 1000 به 20000 تغییر بدم
سوالی که دارم اینه که این کار مشکلی ایجاد نمیکنه؟
به نظرتون از همین روش ajax استفاده کنم بهتره یا اینکه اطلاعاتم رو به صورت فایل منتقل کنم؟


Alimotreb
Alimotreb
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
1

سلام
@alireza.moseni

احتمالا کش داشتید که اون طرف خالی برمیگردونده اطلاعات رو
خیر تفاوتی نداره
اما اصولی ادرس رو بزنید بهتره
هرچند به تنظیمات وب سرور هم مربوط هست و نحوه آدرس دهی ها
فرقی نداره
موفق باشید


kaveh32
kaveh32
تخصص :طراح وب
@kaveh3234714 سال پیشمطرح شد
0

نکته جالبی بود😍😍


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

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