2016-08-14 6 views
0

경고와 동일한 디렉토리에있는 파일의 내용을 출력하는 간단한 자바 스크립트 조각을 가져 오려고합니다.AJAX responseText에는 값이 없음

<form id="form" method="post" onsubmit="newsubmission()"> 
    <input type="submit" value="Submit" /> 
    <script> 
    function newsubmission() {  
     var xhttp = new XMLHttpRequest(); 
     xhttp.onreadystatechange = function() { alert(xhttp.responseText); } 
     xhttp.open("POST", "test.txt", true); 
     xhttp.send(); 
    } 
    </script> 
</form> 

제출 버튼을 클릭하면 텍스트가없는 메시지가 표시됩니다. 나는 하루 종일이 작업을 해왔고 모든 온라인 자습서를 성공없이 시도했습니다. 마침내 아이디어에서. 누군가 도울 수 있습니까?

답변

0

아약스 구문이 원인입니다. 이

function newsubmission(e) { 
    e.preventDefault(); 
    var xhttp = new XMLHttpRequest(); 
    //for IE 
    if(window.AciveXObject){ 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    }else{ 
    // for modern browsers 
    xmlhttp = new XMLHttpRequset(); 
    } 
    xhttp.open("POST", "test.txt", true); 
    xhttp.onreadystatechange = function(){ 
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
     alert(xmlhttp.responseText); 
    } 
    } 

    xhttp.send(); 
} 
+0

정확히 위의 코드를 시도하려고 해결했습니다. 이제 다음 오류가 발생합니다. ReferenceError : XMLHttpRequset이 정의되지 않았습니다. 동일한 오류가있는 게시물을 검색했지만 대답을 구현하는 방법을 모르겠다. ( –

+0

업데이트 : node.js 또는 base.js.와 관련이있는 것으로 나타났습니다. 둘 다 내 컴퓨터에서 검색을 수행했습니다. 이 파일들은 어디서나 찾을 수 없습니다. 내가 그들을 다운로드해야합니까, 아니면 html로 URL에서 그들을 참조 할 수 있습니까? –

+0

그래, 할 수있어!하지만 node.js.가 없다. text.txt 파일입니다.하지만 현실에서는 사용하지 않습니다 .Ajax 응답을 위해 PHP 또는 ASP 파일을 사용해보십시오. PHP 또는 ASP를 알고 있습니까? – Sidath

1

더 쉽게는 약간의 오차가 포함되어있어 JQuery와 아약스

$.ajax({ 
url:"your url", 
success:function(data){ 
     //do your stuff with response data here 
     } 
error:function(){ 
     //handle your error 
    } 
}); 
+0

처음에는 JQuery를 사용했지만 Javascript를 사용하기 때문에 아무 것도하지 않았습니다. JS가 작동하면 JQuery로 돌아갈 수 있습니다. 감사합니다. –

0

를 사용하려고하고 난 지금이 ​​

<form id="form" method="post"> 
<input type="submit" value="Submit" /> 
<script> 
document.getElementById('form').onsubmit = function(e){ 
e.preventDefault(); 
var xmlhttp; 
//for IE 
if(window.ActiveXObject){ 
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
}else{ 
// for modern browsers 
xmlhttp = new XMLHttpRequest(); 
} 
xmlhttp.open("POST", "text.txt", true); 
xmlhttp.onreadystatechange = function(){ 
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
    alert(xmlhttp.responseText); 
} 
} 
xmlhttp.send(); 
} 
</script> 
</form> 
+0

오류 : ReferenceError : XMLHttpRequset이 정의되지 않았습니다. –

+0

getAttributeNode()의 사용이 권장되지 않습니다. 대신 getAttribute()를 사용하고 base.js를 가리킴 f ile. 내 컴퓨터에 base.js라는 파일이 없으며 "base.js"에 대한 참조가 포함 된 파일이 있지만 가장 최근의 Firefox (https : //s.ytimg)가 소스 파일이라고합니다.co.kr/yts/jsbin/player-ko_US-vflYm48JC/base.js. 이것이 문제 또는 별도의 문제와 관련이 있는지 확실하지 않습니다. –

+0

Chrome에서도 테스트되었습니다. 경고 대화 상자를 표시하지 않습니다. Chrome에서 디버깅하는 방법을 모르므로 Chrome의 원인을 알 수 없습니다. –