אשמח אם מישהו יוכל לעזור לי, במהלך עבודה על פרויקט מסוים שבו אני מפתח גם את צד הלקוח וגם את צד השרת נתקלתי בבעיה הבאה:
בתחילה בניתי את הפרויקט באמצעות פאפ וג'אווה סקריפט ונילה ובניתי קובץ api שמקבל שאילתות מהג'אווה סקריפט באמצעות fetch והכל עבד מצוין, אחר כך ניסיתי להחליף את צד הלקוח לריאקט ולפתע הfetch לא עובד (השאילתה חוזרת ריקה), ואם זה לא מספיק מוזר, גיליתי שבמידה ואני מוסיף לקובץ הפאפ פונקציית פרינט עם מחרוזת כל שהיא, לפתע הוא מתחיל לעבוד ומדפיס גם את המידע שרציתי וגם את הטקסט שבתוך המחרוזת פרינט.
הנה הקוד:
PHP
JS
בתחילה בניתי את הפרויקט באמצעות פאפ וג'אווה סקריפט ונילה ובניתי קובץ api שמקבל שאילתות מהג'אווה סקריפט באמצעות fetch והכל עבד מצוין, אחר כך ניסיתי להחליף את צד הלקוח לריאקט ולפתע הfetch לא עובד (השאילתה חוזרת ריקה), ואם זה לא מספיק מוזר, גיליתי שבמידה ואני מוסיף לקובץ הפאפ פונקציית פרינט עם מחרוזת כל שהיא, לפתע הוא מתחיל לעבוד ומדפיס גם את המידע שרציתי וגם את הטקסט שבתוך המחרוזת פרינט.
הנה הקוד:
PHP
PHP:
$map_name = $_POST['map_name'];
$connection = mysqli_connect(DB_HOST ,DB_USER ,DB_PASS ,DB_NAME);
$query_string = "SELECT * FROM maps WHERE map_name='{$map_name}'";
if($result = mysqli_query($connection, $query_string)){
$map_results = mysqli_fetch_array($result, MYSQLI_ASSOC);
}
$map_results_json = json_encode($map_results);
print_r($map_results_json);
JS
JavaScript:
const options = {
method: 'POST',
body: "action=get_map&map_name="+map_name,
mode: 'no-cors',
credentials: 'include',
headers: {
'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
}
};
return fetch('http://localhost/api.php', options)
.then((response) => {
return response.json();
})