🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ اوشنر مهاجرانی
خطای: Failed to fetch TypeError: Failed to fetch
جامعه ری اکت ایجاد شده در ۲۶ تیر ۱۴۰۲

یک api با php نوشتم ولی برنامه نمیتونه فچ کنه. البته فچ روی api آدرس ip گفته شده در درس مشکلی نداره ولی خطای cors ر میده:

برنامه api:

header('Access-Control-Allow-Origin: *');

header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');

header("Access-Control-Allow-Credentials: true");

   header('Content-Type: application/json; charset=utf-8');

header('Access-Control-Allow-Headers', 'Content-Type');

$q1 = $_GET["q1"];

$q2 = $_GET["q2"];

if($q1=="safari" && $q2=="123")

  $arr['userlogin'] = "true";

else   

  $arr['userlogin'] = "false";

echo json_encode($arr);

ممنون میشم که راهنمایی کنید

برنامه ری اکت:



اوشنر مهاجرانی ۲۶ تیر ۱۴۰۲، ۱۱:۳۳

const response = await fetch('http://profwebsaz.ir/testapi?q1=safari&q2=123'); // , {mode:'no-cors'});

    return (await response.json()).userlogin;

اوشنر مهاجرانی ۲۶ تیر ۱۴۰۲، ۱۱:۳۴

ممنون میشم که راهنمایی کنید

اوشنر مهاجرانی ۲۶ تیر ۱۴۰۲، ۱۱:۳۵

سلام

کد رو بصورت صحیح وارد کنید

اینطوری واقعا خطایابی راحت نیست

نواز آهنگر ۲۷ تیر ۱۴۰۲، ۱۳:۵۶

سلام

کد ری اکت در پیوست سوال بالا ارسال شده


اوشنر مهاجرانی ۲۷ تیر ۱۴۰۲، ۱۴:۲۳

سلام مجدد

در api مجوزهای رو طبق زیر اصلاح کردم و مشکل cors در دستور fetch درست شد

$corsHeaders = array(

  'Access-Control-Allow-Origin: *', // اجازه دسترسی به همه دامنه‌ها

  'Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS', // مجوز روش‌های HTTP

  'Access-Control-Allow-Headers: Origin, Content-Type, X-Requested-With', // مجوز هدرهای خاص

  'Content-Type: application/json; charset=utf-8'

);


foreach ($corsHeaders as $header) {

  header($header);

}

اوشنر مهاجرانی ۲۷ تیر ۱۴۰۲، ۱۶:۱۲

بله در موضوع CORS یا باید origin و host یکسان باشد یا باید هدرهای دسترسی در سمت سرور بدرستی ست شود و قبل از ست شده هدرها هیچ خروجی تولید نشود.

موفق باشید.

بهترین پاسخ
دلنواز قانونی ۲۷ تیر ۱۴۰۲، ۲۱:۵۴