مهدی
4 سال پیش توسط مهدی مطرح شد
4 پاسخ

ارسال اطلاعات در HEADER

سلام وقت بخیر

میخواستم توکنی در هدر ست کنم و ارسال کنم

var data = '';

        var config = {
          method: 'post',
          url: 'www.site.com',
          headers: { 
            'token': '123'
          },
          data : data
        };

        await axios(config)
        .then(function (response) {
            console.log(response.data);
        })
        .catch(function (error) {
            console.log(error);
        });

و از اون با php دریافت کنم

header("Access-Control-Allow-Headers: *");
header("Access-Control-Allow-Origin: *");
echo $_SERVER['HTTP_TOKEN'];

وقتی با پستمن ارسال میکنم درسته همه چی . ولی وقتی با axios میفرستم ارور 500 زیر میده :

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://site.com. (Reason: CORS preflight response did not succeed).

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://site.com. (Reason: CORS request did not succeed).

البته وقتی $SERVER میگیرم تو لیست هست ولی وقتی اشاره میکنم به $SERVER['HTTPTOKEN'] و چیزایی ک خودم ست کردم توهدر ارور میده.

ممنون میشم دوستان راهنمایی کنید.

@hesammousavi
@ali.bayat
@mhyeganeh
@mohsenbostan


ثبت پرسش جدید
مهدی
تخصص : برنامه نویس سرور
@mahdi12 4 سال پیش آپدیت شد
0

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

if (isset($_SERVER["HTTP_AUTHORIZATION"])) {
            $a = $_SERVER["HTTP_AUTHORIZATION"];
            $this->pm (200,$a); 
        }else{
            $this->pm (200,'no');
        }

حتما باید داخل isset باشه تا ارور نده

کسی میدونه چرا ؟


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش آپدیت شد
0

@mahdi12
سلام.
خطا به دلیل مشکل CORS هستش که باید رفع کنید. لینک زیر رو بررسی کنید :
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

به headers در آبجکت config قسمت Access-Control-Allow-Origin رو اضافه کن
احتمالا مشکل حل بشه.

 var config = {
      method: 'post',
      url: 'www.site.com',
      headers: { 
        'token': '123',
        'Access-Control-Allow-Origin': '*'
      },
      data : data
    };

مهدی
تخصص : برنامه نویس سرور
@mahdi12 4 سال پیش آپدیت شد
0

@mohsenbostan
@ali.bayat

ممنونم بابت پاسخگویی

نه متاسفانه نشدش

اخه جالب اینه که وقتی

$SERVER

میگیرم میاد داخلش و وقتی کل نتیجشو تو فایلی هم ذخیره میکنم هست داخلش
ولی وقتی

$SERVER['HTTP_TOKEN']

میگیرم ارور میده که نیست همچین key

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


مهدی
تخصص : برنامه نویس سرور
@mahdi12 4 سال پیش آپدیت شد
0

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

if (isset($_SERVER["HTTP_AUTHORIZATION"])) {
            $a = $_SERVER["HTTP_AUTHORIZATION"];
            $this->pm (200,$a); 
        }else{
            $this->pm (200,'no');
        }

حتما باید داخل isset باشه تا ارور نده

کسی میدونه چرا ؟


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

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