AJAX responseText не имеет значения
Просто пытаюсь заставить работать простой кусок javascript, который выводит содержимое файла в тот же каталог, что и оповещение.
<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>
Когда я нажимаю кнопку "Отправить", отображается сообщение без текста. Я работал над этим весь день и безуспешно пробовал каждый онлайн-урок. Наконец из идей. Может кто-нибудь помочь?
3 ответа
Лучше и проще использовать JQuery AJAX
$.ajax({
url:"your url",
success:function(data){
//do your stuff with response data here
}
error:function(){
//handle your error
}
});
Причина с вашим синтаксисом AJAX. Попробуй это
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();
}
Он содержит некоторые ошибки, и я исправил это сейчас попробуйте это
<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>