راکت

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

4 پاسخ

سلام خسته نباشید
توی یه صفحه از سایتم میخوام که یه 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);
        }
    });
});

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

ثبت پرسش جدید

پاسخ‌ها

4
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

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

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

alirezaMoseni
alirezaMoseni
@alireza.moseni

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

url: "excelfaragiran.php"

رو به

url: "excelfaragiran"

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

شاید پاسخ شما همین‌جا باشد

Alimotreb
Alimotreb
@Alimotreb

تخصص: کانفیگ سرور و برنامه نویس

سلام
@alireza.moseni

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

kaveh32
kaveh32
@kaveh323471

تخصص: طراح وب

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

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

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