2010-12-20 9 views
0

매우 간단한 작업을 수행하려고 할 때 사용자가 링크를 클릭하면 파일 업로드 입력이있는 미니 폼이 그 아래 어딘가에 나타납니다.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. 나는 왜 그것이 여기에서 작동하지 않는지 모른다. ...

나는 무엇이 잘못되었는지 알 수 없다. 어떤 아이디어?

답변

0

당신의 PHP 코드가 더 이상 html로 출력되지 않는 것이 확실합니까? 내가 전에 exit()를 사용하여이 작업을 시도한 die

if($_POST['action'] == 'ajaxRequest'){ 
    addImage(); 
    die(); 
} 
+0

을 추가 시도하고 그것은 작동하지 않았다. 나는 die()를 사용했을 때를 대비해 다시 시도했다. 어쩌면 그것은 코드 자체가 아닌 페이지 구조와 관련이있을 것입니다. 다음은 다른 페이지 (소스를 볼 수 있음)에있는 동일 코드입니다. http://bit.ly/fCmmjy (번역을 변경하려면 플래그를 클릭하십시오). 그리고 여기에 현재 문제가있는 페이지가 있습니다 (로그인해야합니다 - 죄송합니다). http://bit.ly/ijIyc2 – Booya

관련 문제