Ajax请求404错误

时间:2013-02-28 21:24:12

标签: javascript jquery ajax jsp

我需要从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错误

任何人都可以帮助我吗?

2 个答案:

答案 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进行调试,则永远不会返回警报:)