// 예시 텍스트 설정 function setExample(element) { document.getElementById('searchInput').value = element.textContent; } // 쿼리 파싱 및 분석 async function parseQuery() { const input = document.getElementById('searchInput').value.trim(); if (!input) { alert('검색할 내용을 입력해주세요!'); return; } // UI 상태 변경 document.getElementById('loadingSection').style.display = 'block'; document.getElementById('resultSection').style.display = 'none'; document.getElementById('searchBtn').disabled = true; try { // /api/search 엔드포인트 호출 (파싱 + 실거래가 조회) const response = await fetch('/api/search', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ text: input }) }); if (!response.ok) { throw new Error('서버 오류가 발생했습니다.'); } const data = await response.json(); displayResults(data); } catch (error) { alert('오류: ' + error.message); console.error('Error:', error); } finally { document.getElementById('loadingSection').style.display = 'none'; document.getElementById('searchBtn').disabled = false; } } // 결과 표시 function displayResults(data) { const resultContent = document.getElementById('resultContent'); let html = ''; // 파싱된 정보 요약 if (data.parsed) { html += '
AI가 요구사항과 가장 일치하는 매물을 선별했습니다.
'; } else { html += `... 외 ${data.total_count - data.count}건
`; } html += '😔 검색 결과가 없습니다.
'; if (!data.parsed.region_code) { html += '지역 정보를 더 구체적으로 입력해주세요.
'; } else { html += '다른 조건으로 검색해보세요.
'; } html += '