먼저 페이지를 설정하는 가장 이상적인 방법은 아니지만 스크립트를 1 개의 파일로 배포해야합니다.Firefox 오류 '요소를 찾을 수 없습니다.'
자바 스크립트가있는 xhtml 문서 상단에 PHP 스크립트가 있으며 특정 조건에서 XHR을 사용하여 페이지 자체에 쿼리 문자열을 보냅니다. 그런 다음 상단의 php가 활성화되어 전달 된 내용을 세션으로 저장 한 다음 자체적으로 종료합니다 (exit()). XHR은 비동기이며 내용을 반환하는지 확인하지 않습니다.
그러나 Firefox 3에서는 XHR 요청이 전송 될 때마다 오류 콘솔에서 오류 no element found
이 발생합니다. 또한 exit('Done')
과 같은 이탈을 사용하면 Firefox는 표시되는 DOM에 삽입하는 것처럼 (완료) 구문 오류를 발생시킵니다. 이것은 Opera에서 발생하지 않는 것 같습니다.
이미 생성 된 xhtml 페이지에서 세션을 저장하는 더 좋은 방법이 있습니까? 분명히 다른 페이지로 XHR 할 수 있지만, 나는 그것을 하나의 스크립트에 모두 보관하는 것을 선호합니다. Firefox는 XHR 요청을 DOM에 대한 업데이트로 자체 처리합니까? 나는 그것이 왜이 오류를 보내고 있는지 모른다. XHR 요청이 때
업데이트 내가 말했듯이, 파이어 폭스는 오류를 슬로우하는. 이 페이지는 유효한 XHTML이며 페이지 자체에 대한 XHR 요청이없는 한 오류없이 완벽하게 작동합니다.
정말 아무것도 반환하지 않기 때문에 오류를 보내는 이유가 궁금합니다.
다음은 객체에서 ajax 요청을하는 javascript 스 니펫입니다. 콜백 함수없이 XHR 개체를 만들고 정보를 게시합니다. 같은 페이지를 참조하지 않을 때 제대로 작동합니다.
var saveState = { saveContent: function(updateActiveMenu) {
var sendState = new ajaxObject(gV.url);
if (!updateActiveMenu) {
var storageContainer = document.getElementById("StorageContainer").innerHTML;
var menu = document.getElementById("Nav").innerHTML;
sendState.update("Containerstring="+urlencode(storageContainer)+"&Nav="+urlencode(menu)+"&Active="+gV.activeMenuItem, 'POST', true); } }, }
그리고 PHP는이
if (isset($_REQUEST['Containerstring']) && isset($_REQUEST['Nav']) && isset($_REQUEST['Active'])) {
$_SESSION['Containerarray'] = (saveContainer(regulateEscapes(urldecode($_REQUEST['Containerstring']))));
$_SESSION['Navarray'] = (saveNav(regulateEscapes(urldecode($_REQUEST['Nav']))));
$_SESSION['Active'] = $_REQUEST['Active'];
exit('Done');
}
나는 또한 내가 innerHTML을를 사용하지 않아야 알고 있어요 않습니다하지만 그건 또 다른 이야기
오류이
Error: no element found
Source File: http://localhost/ajax.php?1244648094055
Line: 1
입니다입니다
오류가 발생하는 동안 p hp page 사용하지 않는 쿼리 문자열을 참조합니다.
설명하는 내용에 약간의 모순이 있습니다. xhr이 반환 된 값 ('완료')을 사용하지 않으면 DOM에 삽입 할 수 없으므로 지금 할 수 있습니까? – SilentGhost
코드의 작은 예를 게시하는 것이 좋습니다. – SilentGhost
페이지 소스의 관련 부분을 왜 올려 놓지 않습니까? –