Shoresh Mostafa
3 سال پیش توسط Shoresh Mostafa مطرح شد
4 پاسخ

ارور ری اکت

سلام خدمت اساتید گرامی . بنده اولین بارم هستش از ری اکت در کنار php استفاده میکنم و اولین بارم هست rest api ميسازم .
الان مسئله اینه که من یه سری دیتا توی دیتابیس mysql ذخیره کردم . یه api ساختم با php كه دیتا هارو صرفا به شکل JSON در بیارم تا تو فرانت اند استفاده کنم با پست من هم دیتا هارو تو یو آر ال دارم ولی وقتی url اي پی آی رو توی ری اکت میزنم تا دیتا های json رو استخراج كنم اين ارور توي كنسولم مياد . میشه لطفا راهنمایی کنید ؟

Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0

در زمن اینم کد های ری اکت من :

import React, { useState, useEffect } from 'react';

const url = '../../backend/api/read.php' ; 

const InformationTable = () => {
  const [data, setData] = useState([]);

  const getData = async () => {
    const response = await fetch(url);
    const data = await response.json();
    setData(data);
    console.log(data) ;
  };

  useEffect(() => {
    getData();
  }, []);

  return(
    <h1>Hello WOlrd</h1>
  )
}

export default InformationTable ; 

فکر نمیکنم مشکل از بک اند باشه ولی اگه لازمه اینم کد فایل read در پوشه api

<?php 

///////Headers :

header('Access-Conrol-Allow-Origin:*') ; 
header('Content-Type:application/json') ; 

//// files :

include('../db/db.php');
include('../models/models.php') ; 

////// Product Objects :
$product = new Product($conn) ; 
///// Product Query :
$result = $product->read() ; 
////// Get Row Count :
$num=$result->rowCount() ; 

if($num > 0 ){
    /// Product array :
    $product_arr = array() ;  
    while($row =$result->fetch(PDO::FETCH_ASSOC)){
        extract($row) ; 
        $product_item = array(
            'id'=>uniqid() ,
            'name'=>$name ,
            'price'=>$price,
            'percent'=>$percent,
            'pricewithoffer'=>$pricewithoffer,
            'img'=>$img
        ) ; 
        ///// Push To data  :
        array_push($product_arr,$product_item) ; 
    }

    ///// turn on to JSON :
    echo json_encode($product_arr) ; 

}

?>

ثبت پرسش جدید
saman
@saman1111 3 سال پیش مطرح شد
0

از ریسپانس JSON هم عکس بزارین


Shoresh Mostafa
تخصص : FRONT-END
@m.shoresh77 3 سال پیش آپدیت شد
0

دوست عزیز این ریسپانس api تو پست منه :فقط چون json خیلی بزرگیه از قسمتیش عکس گذاشتم
@saman1111

[
    {
        "id": "5ff6a88f2901f",
        "name": "فرش ماشینی سهند کد VF17.VD زمینه سرمه ای",
        "price": "133,000 تومان",
        "percent": "٪5",
        "pricewithoffer": "140,000",
        "img": "https://dkstatics-public.digikala.com/digikala-products/112283329.jpg?x-oss-process=image/resize,m_lfit,h_600,w_600/quality,q_90"
    },
    {
        "id": "5ff6a88f2929b",
        "name": "میکروفون یقه ای اینوی مدل YW-001",
        "price": "34,000 تومان",
        "percent": "٪31",
        "pricewithoffer": "49,000",
        "img": "https://dkstatics-public-2.digikala.com/digikala-products/111252914.jpg?x-oss-process=image/resize,m_lfit,h_600,w_600/quality,q_90"
    },
    {
        "id": "5ff6a88f292aa",
        "name": "میز تحریر تاشوو تنظیم شو میلاد سفید 70",
        "price": "182,400 تومان",
        "percent": "٪5",
        "pricewithoffer": "192,000",
        "img": "https://dkstatics-public.digikala.com/digikala-products/2691865.jpg?x-oss-process=image/resize,m_lfit,h_600,w_600/quality,q_90"
    },
    {
        "id": "5ff6a88f292b2",
        "name": "ماژیک وایت برد کد x-828 M بسته 4 عددی",
        "price": "12,400 تومان",
        "percent": "٪9",
        "pricewithoffer": "13,700",
        "img": "https://dkstatics-public.digikala.com/digikala-products/114062863.jpg?x-oss-process=image/resize,m_lfit,h_600,w_600/quality,q_90"
    },

Shoresh Mostafa
تخصص : FRONT-END
@m.shoresh77 3 سال پیش آپدیت شد
0

آقای موسوی میشه یه کمکی بکنید خیلی حیاتیه .
@hesammousavi


saman
@saman1111 3 سال پیش مطرح شد
0

شما به جای این که آدرس رو اینطوری توی متغیر بزارید خودتون آدرس کامل رو بدید
الان داره ریسپانس HTML میگیره


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

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