У меня есть эта HTML-форма, которая использует AJAX для передачи данных в файл php. (Я сделал это, поэтому мне не нужно оставлять текущую страницу). Firebug дает мне две ошибки:Firebug дает ошибку «Ajax не определен»
document.getElementById("name") is null
ajaxget is not defined
Я только начал использовать AJAX сегодня от отчаяния, так что я очень новой для него. Файл PHP является second.php
, важной частью является то, что она принимает переменные, поэтому он может создать выход, который будет использоваться другой HTML позже, но он не должен реагировать обратно:
<html>
<head>
</head>
<body>
<script type="text/javascript">
function ajaxRequest(){
var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
for (var i=0; i<activexmodes.length; i++){
try{
return new ActiveXObject(activexmodes[i])
}
catch(e){
//suppress error
}
}
}
else if (window.XMLHttpRequest) // if Mozilla, Safari etc
return new XMLHttpRequest()
else
return false
}
var mygetrequest=new ajaxRequest()
mygetrequest.onreadystatechange=function(){
if (mygetrequest.readyState==4){
if (mygetrequest.status==200 || window.location.href.indexOf("http")==-1){
document.getElementById("result").innerHTML=mygetrequest.responseText
}
else{
alert("An error has occured making the request")
}
}
}
var namevalue=encodeURIComponent(document.getElementById("name").value)
var agevalue=encodeURIComponent(document.getElementById("age").value)
mygetrequest.open("GET", "second.php?name="+namevalue+"&age="+agevalue, true)
mygetrequest.send(null)
</script>
<form method="get" action="">
Your name: <input type="text" id="name" name="name" size="25" /> <br />
Your age: <input type="text" id="age" name="age" size="25" /> <br />
<input type="button" value="submit" onClick="ajaxget()" />
</form>
<div id="result"> </div>
</body>
</html>
Я не писал код AJAX, думал, что смогу реализовать этот код в мой проект, они, очевидно, отсутствуют ajaxget(), как и где я могу определить эту конкретную функцию в текущем коде? Я получил код от: http://www.javascriptkit.com/dhtmltutors/ajaxgetpost.shtml – pinky
Роллинг ваших собственных обработчиков ajax - такая боль ... просто используйте mootools или jquery. они справятся со всем тяжелым грузом для вас и позволят вам вернуться к тому, чтобы что-то сделать. –