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.
Önce şunu yap
Satıcıya bildir. Senin kurulumunda buna yol açan bir şey yok.
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
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
Geri çağırma adı eşleşmiyor
RegisterNUICallback('buy', ...),.../Buye değil.../buyye yanıt verir. - 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
fetch'in POST gövdesi yok
FiveM'in NUI'si bir POST bekler. Bir GET, ya da gövdesiz bir POST yönlendirilmeyebilir.
- 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.