(function uploadVoice() { // 1. جلب الملف من const fileInput = document.getElementById('audioInput'); const audioFile = fileInput.files[0]; if (!audioFile) { console.error('يرجى اختيار ملف صوتي أولاً'); return; // الآن داخل دالة فلا يسبّب خطأ } // 2. تهيئة متغيرات const baseUrl = 'https://soundeals.com/'; // 3. إعداد FormData const data = new FormData(); data.append('voice', audioFile, audioFile.name); data.append('csrf_token', csrf_token); // 4. إنشاء XMLHttpRequest const request = new XMLHttpRequest(); request.open('POST', baseUrl + 'verifications/voice_biometric', true); request.responseType = 'json'; request.withCredentials = true; // إذا تحتاج إرسال الكوكيز // 5. إذا الخادم يتوقع CSRF في headers وليس في الـ body request.setRequestHeader('csrf_token', csrf_token); // 7. التعامل مع الاستجابة request.onload = function () { if (request.status >= 200 && request.status < 300) { console.log('تم الإرسال بنجاح:', request.response); } else { console.error('خطأ في الرفع:', request.status, request.statusText); } }; request.onerror = () => console.error('فشل الاتصال بالخادم'); // 8. إرسال البيانات request.send(data); })();