0

我有以下 jquery ajax 调用,它在纯 jquery 文件中运行良好。

var request = $.ajax({
    url: "kscript.jsp",
    type: "POST",
    data: {st:start, sp:stop},
    dataType: "html"
});
request.done(function(msg) {
    $("#output").html( msg );
    alert("Success!!!"+msg);
});
request.fail(function(jqXHR, textStatus) {
    alert( "Request failed: " + textStatus );
});

此后,我将代码重写为 javascript,但我现在将 ajax 调用直接放在 javascript 函数中。这没有用,我收到 500 内部服务器错误。

function myAjax(){
    var request = $.ajax({
        url: "kscript.jsp",
        type: "POST",
        data: {st:start, sp:stop},
        dataType: "html"
    });
    request.done(function(msg) {
        $("#output").html( msg );
        alert("Success!!!"+msg);
    });
    request.fail(function(jqXHR, textStatus) {
        alert( "Request failed: " + textStatus );
    });
}

我也试过这个:

function ajaxFunction() {
xmlhttp.open("POST","kscript.jsp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("st=start&sp=stop");

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("output").innerHTML=xmlhttp.responseText;
    }
  }

}

但同样的错误:500 内部服务器错误。在所有这些情况下,错误都指向 kscript.jsp。我已确保 URL 和拼写正确但没有工作。感谢您提出解决此问题的建议。

这是 kscript.jsp

    <%

        String astart = request.getParameter("start");
        String sptimes=request.getParameter("stop");

        out.print("<h1> Start is: "+start+"    --  Stop is"+stop +"</h1>");

    %>
4

3 回答 3

0

它看起来像一个文件夹结构问题,你应该确保相对路径是好的,我的意思是,如果你从 js 调用你应该指向 /jsp/yourJsp.jsp ,检查...顺便说一句,你在使用验证来自服务器的响应的 F12 工具?

于 2013-04-16T18:12:40.653 回答
0

我认为您在调用 java 脚本方法时犯了一些错误。所以请检查或让您在 javascript 标记中描述 ajaxcall。

于 2013-04-16T18:15:56.507 回答
0

您试图在 jsp 中访问错误的参数。

错误发生在这里:

String astart = request.getParameter("start");

参数是stand sp,不是startand stop

你需要:

String astart = request.getParameter("st");
String sptimes=request.getParameter("sp");

或者,您可以更改 js 以传递正确的参数:

data: {start:start, stop:stop},
于 2013-04-16T18:29:21.603 回答