🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ راستین ضابطی
خطای: 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 یکسان باشد یا باید هدرهای دسترسی در سمت سرور بدرستی ست شود و قبل از ست شده هدرها هیچ خروجی تولید نشود.

موفق باشید.

بهترین پاسخ
استاد ماندیس بحرینی ۲۷ تیر ۱۴۰۲، ۲۱:۵۴