Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X
X

Wählen Sie Ihre Währung

Türk Lirası $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
Fetch, AJAX ve API Cevapları

Unexpected Token `<` in JSON at Position 0 Hatası

İlk karakterin `<` olması genellikle JSON beklenen isteğe HTML döndüğünü gösterir. Yanlış endpoint, 404/500 hata sayfası, login yönlendirmesi, PHP warning, WAF challenge veya WISECP tema çıktısı response.json() tarafından JSON gibi ayrıştırılmaya çalışılmış olabilir.

JSON Position 0<!DOCTYPE html>Fetch APIPHP AJAXContent-Type
DevTools Console
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
Unexpected token < in JSON at position 0
JSON.parse: unexpected character at line 1 column 1
01İlk Console hatasını kaydedin
02Kaynak kod ile canlı cevabı ayırın
03Parser, Network ve module yapısını test edin
04Build sonrası yeniden doğrulayın
01
Teknik yaklaşım

Unexpected Token < in JSON nasıl analiz edilir?

İlk karakterin `<` olması genellikle JSON beklenen isteğe HTML döndüğünü gösterir. Yanlış endpoint, 404/500 hata sayfası, login yönlendirmesi, PHP warning, WAF challenge veya WISECP tema çıktısı response.json() tarafından JSON gibi ayrıştırılmaya çalışılmış olabilir.

01

İlk hatayı bulun

Bir SyntaxError sonraki tüm scriptleri durdurabilir; önce Console’daki ilk kırmızı kaydı çözün.

02

Gerçek dosyayı açın

Source map, pretty print ve Network URL ile hatanın kaynak mı build mi olduğunu belirleyin.

03

Parser ile izole edin

node --check, ESLint, TypeScript veya JSON doğrulayıcıyla sorunu küçük bir alana indirin.

04

Canlı çıktıyı doğrulayın

PHP render, API body, CDN cache ve module loader sonucunu production cevabında kontrol edin.

JSON hatasını try/catch ile gizleyip HTML cevabı normal veri gibi kullanmayın.

02
Canlı hata sözlüğü

Console ve terminal mesajları

01kritik

Unexpected token '<'

Anlamı: Cevap JSON yerine HTML ile başlıyor.

Muhtemel neden: 404, 500, login veya tema sayfası.

02kritik

<!DOCTYPE html> is not valid JSON

Anlamı: Tam HTML belge JSON parser’a gönderildi.

Muhtemel neden: Yanlış endpoint veya yönlendirme.

03uyari

Unexpected token P in JSON

Anlamı: PHP warning/parse error metni JSON’a karıştı.

Muhtemel neden: display_errors açık veya fatal error.

04uyari

Unexpected token A in JSON

Anlamı: Access denied gibi metin cevabı döndü.

Muhtemel neden: Yetki, session veya CSRF sorunu.

05uyari

Content-Type text/html

Anlamı: Sunucu JSON yerine HTML content type gönderiyor.

Muhtemel neden: Route/handler yanlış.

06uyari

302 login redirect

Anlamı: API çağrısı giriş sayfasına yönlendi.

Muhtemel neden: Session süresi veya auth middleware.

07uyari

Cloudflare challenge HTML

Anlamı: WAF bot doğrulama sayfası döndü.

Muhtemel neden: Rate limit veya güvenlik kuralı.

08bilgi

Empty response shown as HTML error

Anlamı: Proxy custom error page üretiyor.

Muhtemel neden: Nginx/Apache upstream hatası.

Bu ifadeyle eşleşen kayıt bulunamadı.

03
Kopyalanabilir kontroller

Node.js, API, PHP ve dosya testleri

Header ve durum kodu

curl -i https://example.com/api/data

HTTP status, Content-Type ve ham cevabı birlikte gösterir.

Yönlendirme zinciri

curl -sIL https://example.com/api/data | grep -iE '^HTTP|^location:|^content-type:'

Login veya hata sayfasına yönlenmeyi gösterir.

JSON doğrulama

curl -s https://example.com/api/data | python3 -m json.tool

Cevap geçerli JSON değilse ayrıştırma hatası verir.

İlk 300 karakter

curl -sL https://example.com/api/data | head -c 300

Cevabın HTML, PHP hata metni veya JSON ile başlayıp başlamadığını gösterir.

PHP log kontrolü

tail -n 100 /var/log/php-fpm/error.log 2>/dev/null || tail -n 100 /var/log/php8.3-fpm.log

API çağrısı sırasında oluşan PHP hatalarını gösterir.

Fetch güvenli debug

fetch('/api/data').then(async r => ({status:r.status,type:r.headers.get('content-type'),url:r.url,body:await r.text()})).then(console.log)

Parse etmeden önce status, content type, final URL ve body’yi gösterir.

04
Doğru ve hatalı kod

Sözdizimi karşılaştırmaları

Doğrudan JSON parse

Hatalı
const veri = await response.json();
Doğru
const metin = await response.text();
if (!response.ok) throw new Error(`${response.status}: ${metin.slice(0,200)}`);
const veri = JSON.parse(metin);

PHP header eksik

Hatalı
echo json_encode($veri);
Doğru
header('Content-Type: application/json; charset=utf-8');
echo json_encode($veri, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);

HTML hata cevabı

Hatalı
http_response_code(500);
echo '<h1>Hata</h1>';
Doğru
http_response_code(500);
header('Content-Type: application/json; charset=utf-8');
echo json_encode(['success'=>false,'error'=>'Sunucu hatası']);

Session cookie eksik

Hatalı
fetch('/api/profile')
Doğru
fetch('/api/profile', { credentials: 'same-origin', headers: { Accept: 'application/json' } })
05
Çalışma ortamına göre

Tarayıcı, Node.js, PHP ve WISECP

Tarayıcı ve Frontend

Chrome DevTools Console, Sources ve Network panelleriyle gerçek dosya, satır ve sunucu cevabı birlikte incelenmelidir.

  • Pretty print ve source map ile gerçek kaynak satırını bulun.
  • Network Response ile JavaScript/JSON yerine HTML dönüp dönmediğini kontrol edin.
  • Script type, yükleme sırası, defer ve module ayarlarını doğrulayın.

Node.js, TypeScript ve Paketler

Node sürümü, package.json module tipi, derleme çıktısı ve çalıştırılan gerçek dosya aynı module sistemine uygun olmalıdır.

  • node --check ile parser hatasını izole edin.
  • package.json, tsconfig ve dosya uzantılarını birlikte değerlendirin.
  • Source yerine build çıktısının çalıştırılıp çalıştırılmadığını kontrol edin.

PHP, AJAX ve WISECP

PHP uyarıları, tema HTML’i, yönlendirme ve çift script yükleme JavaScript hatası gibi görünebilir.

  • API cevabına PHP warning veya HTML karışmadığını doğrulayın.
  • json_encode ve Content-Type çıktısını merkezi yönetin.
  • Header/footer içinde aynı JavaScript dosyasını iki kez yüklemeyin.
Yanlış müdahaleler

Kesinlikle yapmayın

  • JSON hatasını try/catch ile gizleyip HTML cevabı normal veri gibi kullanmayın.
  • Production API’de display_errors çıktısını response body’ye basmayın.
  • Content-Type application/json gönderip gövdede HTML üretmeyin.
  • WAF veya auth sorununu endpoint adını değiştirerek geçici biçimde aşmayın.
İşlem sonrası kontrol

Çözümü doğrulayın

  • API doğru HTTP status ve application/json Content-Type dönüyor.
  • Cevap python -m json.tool ile ayrıştırılıyor.
  • Login ve hata durumları da tutarlı JSON sözleşmesi kullanıyor.
  • Frontend response.ok ve content type kontrolünden sonra parse ediyor.
06
İç SEO içerik kümesi

İlgili JavaScript hata çözümleri

07
Birincil kaynaklar

MDN, Node.js ve resmî belgeler

08
Sık sorulan sorular

Unexpected Token < in JSON hakkında merak edilenler

Unexpected Token < in JSON neden oluşur?

JavaScript parser, JSON parser veya module loader beklenen sözdizimini bulamadığında oluşur. Hata mesajı gerçek nedenin bulunduğu satırdan sonraki token’ı işaretleyebilir.

Console’daki satır her zaman doğru mu?

Satır çoğu zaman parser’ın hatayı fark ettiği yerdir. Eksik tırnak, parantez veya virgül bir önceki satırda olabilir.

Minified dosyada hata nasıl bulunur?

Source map ve DevTools pretty print kullanın; asıl kaynak dosyayı düzeltip yeniden build alın.

PHP neden JavaScript SyntaxError oluşturur?

PHP warning, HTML hata sayfası veya kaçış yapılmadan basılan veri JavaScript/JSON sözdizimini bozabilir.

ESLint tüm SyntaxError hatalarını bulur mu?

Çoğu parser hatasını bulur; ancak yanlış sunucu cevabı, çift script yükleme ve runtime module yapılandırması ayrıca incelenmelidir.

Kod çalışıyordu, neden aniden bozuldu?

Deploy, minify, cache, paket güncellemesi, Node sürümü, PHP çıktısı veya yarım yüklenen dosya davranışı değiştirmiş olabilir.

Bu rehber güvenli üretim düzeltmesi sağlar mı?

Rehber teşhis ve güvenli düzeltme adımları sunar; değişiklikler staging ortamında test edilip Git ile geri alınabilir tutulmalıdır.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

JavaScript, Node.js ve API hatasını kaynak koduyla birlikte analiz edelim

Console, Fetch/AJAX, PHP JSON cevapları, ES Modules, TypeScript build ve WISECP script yükleme sorunlarını üretim yapısını bozmadan inceliyoruz.

Yazılım Desteği AlWhatsApp
Top