我在使用AJAX和JavaScript发送Post请求ASP.Net时遇到问题。我的意图是将多个值发送到数据库并插入它们。我有一个html页面,其中包含使用AJAX调用ASP请求的以下函数。
.html文件:
// Builds AJAX request and sends it to ASP page
function sendInfo(x,y,z){
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("POST","Update.asp",true);
xmlhttp.send("addy="+encodeURIComponent(x)+
"&lat="+encodeURIComponent(y)+
"&lng="+encodeURIComponent(z));
}
// Checks the ready state of the sent response
function stateChanged() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
else {
document.getElementById("txtHint").innerHTML="Error with ready state: " + xmlhttp.readyState + " and status: " + xmlhttp.status;
}
}
这是我的.asp文件:
<%
conn = Server.CreateObject("ADODB.Connection");
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + Server.MapPath("Project.mdb"));
var addy=Request.Form("addy");
var lat=Request.Form("lat");
var lng=Request.Form("lng");
var sql="INSERT INTO Location_Info (Address,Latitude,Longitude)"
sql= sql + " VALUES "
sql= sql + "('" + addy + "',"
sql= sql + "'" + lat + "',"
sql= sql + "'" + lng + "')"
rs = conn.Execute(sql);
Response.Write("Your record has been placed into the database.");
rs.Close();
conn.Close();
%>
每当我运行我的页面并输入要发送的正确信息时,它只返回&#34;出现就绪状态的错误的情况:4和状态:500&#34;。这种状态500是一般错误,我不确定如何调试我的程序,因为我甚至尝试评论.asp文件中的所有内容,只有##; Response.Write(&#34; text&#34; );&#39;代码,但无济于事,仍处于状态:500错误。
如果有人可以帮我解决我做错的事情,我们将不胜感激。