문제 설명: 페이지에서 백그라운드로 데이터를 제출합니다(Ajax가 아닌 제출). 데이터의 합법성을 확인할 때 오류가 발생하면 JS 코드 조각을 에코하여 오류 프롬프트를 제공합니다. 아래와 같이
echo "<script>alert('提交信息有误');</script>";
팝업창이 깨져서 나타납니다.
문제 분석: 브라우저가 인코딩을 자동으로 감지하도록 설정되어 있으면 잘못된 문자가 표시되지 않습니다. 그렇지 않으면 잘못된 문자가 나타날 수 있습니다. 스크립트 태그의 JS 코드에는 줄무늬가 있고 인코딩 제한이 없기 때문에 잘못된 문자가 나타납니다.
문제 해결 방법: 팝업 오류 메시지 외부에 HTML 코드 레이어를 래핑합니다.
$output=<<<EOF <html> <head> <meta http-equiv="Content-Type" c/html;charset=utf-8"> <script>alert("$errMsg");</script> </head> </html> EOF; echo $output;
저작권 안내: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.
위 내용은 내용을 포함하여 PHP에서 JS를 사용하여 잘못된 오류 메시지를 표시하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.