Tambah panduan setup lokal untuk troubleshooting Failed to fetch
This commit is contained in:
98
SETUP_LOCAL.md
Normal file
98
SETUP_LOCAL.md
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
# Setup Lokal Development (Laragon/XAMPP)
|
||||||
|
|
||||||
|
## Masalah: "Failed to fetch" di Localhost
|
||||||
|
|
||||||
|
Jika Anda mendapat error "Failed to fetch" saat mengakses:
|
||||||
|
```
|
||||||
|
http://localhost/retribusi_bapenda/retribusi%20(frontend)/public/index.html
|
||||||
|
```
|
||||||
|
|
||||||
|
## Solusi
|
||||||
|
|
||||||
|
### Opsi 1: Akses Langsung ke Public Folder (Recommended)
|
||||||
|
|
||||||
|
Karena document root seharusnya di folder `public/`, akses langsung ke:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://localhost/retribusi_bapenda/retribusi%20(frontend)/public/index.html
|
||||||
|
```
|
||||||
|
|
||||||
|
Atau jika folder `public/` sudah di-set sebagai document root:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://localhost/index.html
|
||||||
|
```
|
||||||
|
|
||||||
|
### Opsi 2: Setup Virtual Host di Laragon
|
||||||
|
|
||||||
|
1. Buka Laragon
|
||||||
|
2. Klik kanan pada folder project → **Add Virtual Host**
|
||||||
|
3. Set document root ke: `C:\laragon\www\RETRIBUSI_BAPENDA\retribusi (frontend)\public`
|
||||||
|
4. Set domain: `retribusi.local` (atau sesuai keinginan)
|
||||||
|
5. Restart Laragon
|
||||||
|
6. Akses: `http://retribusi.local/index.html`
|
||||||
|
|
||||||
|
### Opsi 3: Gunakan PHP Built-in Server
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd "C:\laragon\www\RETRIBUSI_BAPENDA\retribusi (frontend)\public"
|
||||||
|
php -S localhost:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
Akses: `http://localhost:8080/index.html`
|
||||||
|
|
||||||
|
## Konfigurasi API
|
||||||
|
|
||||||
|
Pastikan file `public/dashboard/js/config.js` sudah benar untuk lokal:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Untuk Laragon/Apache (path-based)
|
||||||
|
return 'http://localhost/api-btekno/public';
|
||||||
|
|
||||||
|
// ATAU untuk PHP built-in server
|
||||||
|
return 'http://localhost:8000';
|
||||||
|
```
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Error: "Failed to fetch"
|
||||||
|
|
||||||
|
1. **Cek path file**: Pastikan file `public/index.html` ada
|
||||||
|
2. **Cek document root**: Pastikan server mengarah ke folder `public/`
|
||||||
|
3. **Cek CORS**: Pastikan backend API sudah allow origin `http://localhost`
|
||||||
|
4. **Cek browser console**: Lihat error detail di Developer Tools (F12)
|
||||||
|
|
||||||
|
### Error: "Module not found"
|
||||||
|
|
||||||
|
1. Pastikan menggunakan ES6 modules (`type="module"` di script tag)
|
||||||
|
2. Pastikan path import benar (relative path dari file HTML)
|
||||||
|
3. Pastikan file JavaScript ada di lokasi yang benar
|
||||||
|
|
||||||
|
### Error: "CORS policy"
|
||||||
|
|
||||||
|
1. Pastikan backend API sudah setup CORS untuk `http://localhost`
|
||||||
|
2. Cek file `api/cors_handler.php` atau `api/cors-handler.php`
|
||||||
|
3. Pastikan header `Access-Control-Allow-Origin` sudah di-set
|
||||||
|
|
||||||
|
## Struktur Path yang Benar
|
||||||
|
|
||||||
|
```
|
||||||
|
retribusi (frontend)/
|
||||||
|
└── public/ ← Document root
|
||||||
|
├── index.html ← Login page
|
||||||
|
└── dashboard/
|
||||||
|
├── dashboard.html
|
||||||
|
├── event.html
|
||||||
|
└── js/
|
||||||
|
├── config.js
|
||||||
|
├── api.js
|
||||||
|
└── auth.js
|
||||||
|
```
|
||||||
|
|
||||||
|
## Quick Test
|
||||||
|
|
||||||
|
1. Buka browser
|
||||||
|
2. Akses: `http://localhost/retribusi_bapenda/retribusi%20(frontend)/public/index.html`
|
||||||
|
3. Atau setup virtual host dan akses: `http://retribusi.local/index.html`
|
||||||
|
4. Cek browser console (F12) untuk error detail
|
||||||
|
|
||||||
Reference in New Issue
Block a user