매우 간단한 작업을 수행하려고 할 때 사용자가 링크를 클릭하면 파일 업로드 입력이있는 미니 폼이 그 아래 어딘가에 나타납니다.Ajax 요청은 div에 전체 페이지를로드합니다.
그러나 내 아약스 코드는 협력하지 않습니다. 대신, 현재 전체 (생각) 페이지를로드합니다. 나는이 문제를 몇 시간 전에 다시 보았지만 나는 그것을 해결할 수 있었다. 그러나 나에게있어서 내가 어떻게했는지 기억하지 못한다.
정말 이상한 점은 내 로컬 컴퓨터에서 시도해도 정상적으로 작동하지만 실제 웹 서버에서는 작동하지 않는다는 것입니다.
코드 :
function ajaxRequest(targetUri, parameters, cbFunction){
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.onreadystatechange = cbFunction;
request.open("POST", targetUri, true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send(parameters);
}
function addImage(){
parameters = "action=ajaxRequest";
ajaxRequest("http://www.mysite.com/gallery/addImage.php", parameters, function(){
if((request.readyState == 4) && (request.status == 200)){
document.getElementById("formContainer").innerHTML = request.responseText;
}
});
}
그리고 내 PHP 파일 :
<a href="javascript:addImage()">Add Image</a>
<div id="formContainer"></div>
이 어떤 도움이 많이 감사합니다 :
function addImage(){
echo '
<div class="mainBlockBody">
<form action="index.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="galleryAction" value="addImage" />
<input type="file" name="upFile" />
<input type="submit" value="Submit" />
</form>
</div>
';
}
if($_POST['action'] == 'ajaxRequest'){
addImage();
}
링크 & 자리!
편집 :
나는 내가 ... 경로에 문제를 좁혀 생각합니다. 이 페이지에서 http://bit.ly/dXrGY6 그것은 모두 상대 경로를 사용하여 잘 동작합니다. "http : // www ..."또는 "../ test/....."와 같은 절대 경로로 바꾸면 다시 오작동합니다. 내 사이트의 다른 섹션에서 절대 경로를 사용하고 있으며 정상적으로 작동합니다 : http://bit.ly/fCmmjy. 나는 왜 그것이 여기에서 작동하지 않는지 모른다. ...
나는 무엇이 잘못되었는지 알 수 없다. 어떤 아이디어?
을 추가 시도하고 그것은 작동하지 않았다. 나는 die()를 사용했을 때를 대비해 다시 시도했다. 어쩌면 그것은 코드 자체가 아닌 페이지 구조와 관련이있을 것입니다. 다음은 다른 페이지 (소스를 볼 수 있음)에있는 동일 코드입니다. http://bit.ly/fCmmjy (번역을 변경하려면 플래그를 클릭하십시오). 그리고 여기에 현재 문제가있는 페이지가 있습니다 (로그인해야합니다 - 죄송합니다). http://bit.ly/ijIyc2 – Booya