我需要从JSP页面获取一些数据,这些数据在数据库上执行select,然后放入div中。我需要用ajax做到这一点。
这是我的代码:
$(function() {
teste();
});
function teste() {
var v1 = document.getElementById("selCodigo").value;
alert(v1);
$.ajax({
type : "GET",
data : "turma="+v1,
url : "busca-notas.jsp",
success : function(resposta){
alert("DEU CERTO");
},
error : function(xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
document.getElementById("notas").innerHTML = "ERRO";
}
});
}
我测试了变量v1
以及它所需的值,在我的JSP页面中,我这样做了:
String turmaSelecionada = request.getParameter("turma");
问题是没有输入div的ajax内容需要超出xhr.status
提出的thrownError和404错误
任何人都可以帮助我吗?
答案 0 :(得分:6)
要么busca-notas.jsp
不存在,要么它与调用Ajax请求的HTML位于不同的服务器或路径上。
示例:如果您的HTML和JavaScript在此处:
http://www.example.com/somepath/page.html
你的PHP代码在这里:
http://www.example.com/otherpath/busca-notas.jsp
然后你需要使用url: "../otherpath/busca-notas.jps"
。有一种简单的方法可以检查:在浏览器中打开HTML,删除路径的最后一位,然后将其替换为“busca-notas.jpg”,看看你得到了什么。
404也意味着,您的JSP代码永远不会被执行。
答案 1 :(得分:0)
这就是说你尝试进行GET的资源不存在。您正在进行GET的路径可能不正确。你能告诉你的文件结构(javascript /服务文件等)。我建议使用浏览器开发人员工具或fiddler来调试正在发生的事情。
使用F12(windows)和浏览器访问开发人员工具。小提琴工具也很棒! http://www.fiddler2.com/fiddler2/
另一方面,如果您使用console.log进行调试,则永远不会返回警报:)