THE ORB
Studio başlatılıyor

Bir NUI geri çağırması hiç tetiklenmiyor

Bir script'in menüsündeki bir düğme tıklandığında hiçbir şey yapmıyor, ve genelde konsolda da bir şey görünmüyor.

groupsDüğmeler hiçbir şey yapmıyorcodeGeliştirici gerektirir

Önce şunu yap

Satıcıya bildir. Senin kurulumunda buna yol açan bir şey yok.

bug_reportBunun yerine tüm konsolunu yapıştır

Ne anlama gelir

Tarayıcı tarafı istemciye gönderdi ve hiçbir şey olmadı. Genelde iki tarafta da hiç hata yoktur, ki sinir bozucu yanı budur: düğme basitçe hiçbir şey yapmaz.

Neden olur

Ne sıklıkla doğru cevap olduğuna göre sıralı.

  1. 1

    URL kaynak adıyla eşleşmiyor

    fetch('https://my-script/buy'), TAM kaynak adını kullanmak zorundadır. Tireye karşı alt çizgi sessizce başarısız olur.

  2. 2

    Geri çağırma adı eşleşmiyor

    RegisterNUICallback('buy', ...), .../Buye değil .../buyye yanıt verir.

  3. 3

    cb hiç çağrılmıyor

    Lua tarafı cb(...) çağırmalıdır. Onsuz tarayıcının promise'i hiç çözülmez, o yüzden işleyici çalışmış olsa bile arayüz asılı kalır.

  4. 4

    fetch'in POST gövdesi yok

    FiveM'in NUI'si bir POST bekler. Bir GET, ya da gövdesiz bir POST yönlendirilmeyebilir.

  5. 5

    Arayüz odakta değil

    Geri çağırmalar odak olmadan da çalışır, ama birini tetiklemesi gereken TIKLAMA sayfaya ulaşmaz. İmlecin etkileşmesini sağlayan şey SetNUIFocus(true, true)dur.

Hangisinin seninki olduğu nasıl anlaşılır

NUI geliştirici araçlarını aç ve ağ sekmesini izle: istek hiç gidiyor mu? Gitmiyorsa sorun sayfa ya da odaktır. Gidiyor ve asılı kalıyorsa, işleyici cb çağırmıyordur. 404 veriyorsa, ad yanlıştır.

Nereye bakmalı

Sayfadaki fetch URL'si, ve istemci script'indeki RegisterNUICallback adı. Birebir eşleşmeleri gerekir.

Nasıl düzeltilir

-- client
RegisterNUICallback('buy', function(data, cb)
    -- işi yap
    cb({ ok = true })          -- HER ZAMAN yanıtla, başarısızlıkta bile
end)

// sayfa
await fetch(`https://${GetParentResourceName()}/buy`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ item: 'water' }),
})

Hâlâ kendi kodunda mı takıldın?

Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.

bug_reportServer Fixer'ı aç

Bu tür bir hata için Loading Screen Creator elle HTML yazmadan çalışan NUI oluşturur.

Bununla birlikte gelen hatalar