반응 입력의 onChange 이벤트는 handlerOnchange 메서드에 바인딩됩니다. 이 메서드가 호출된 후 사용자가 "Glory of the King"을 입력하면 입력 속도 문제로 인해 "King of Glory"에 대한 두 가지 요청이 발생합니다. " 및 "King of Glory"가 마지막에 전송될 수 있습니다. "Glory of the King". .
이때 첫 번째 "King of Glory" 요청은 두 번째 "King of Glory" 요청보다 반환하는 데 시간이 더 오래 걸립니다. 그러면 최종 렌더링 결과는 사용자에게 입력 상자가 "King of Glory"라고 표시되지만, 결과는 "영광의 왕"입니다.
이러한 상황을 방지할 수 있는 기술적인 해결책이 있나요?
ringa_lee2017-07-05 10:49:21
1. 동기식 ajax(이스케이프) 사용
2. 백그라운드에서 반환된 결과는 요청된 키워드를 전달하고 이를 현재 입력 값과 비교합니다.
3. 전역적으로 자동 증가 ID를 유지하고 각 요청마다 이를 추가합니다. 요청에 의해 반환된 필드에 반환됩니다. 반환된 ID가 현재 페이지의 ID와 일치하면 데이터를 사용하고, 그렇지 않으면 폐기합니다
요약하자면 옵션 3이 가장 다재다능합니다. 페이지에 여러 양식 쿼리 조건이 있는 경우 옵션 2가 매우 고통스럽습니다.