从javascript进行Ajax调用

从javascript进行Ajax调用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下jQueryAjax调用,它在纯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); }); req

我有以下jQueryAjax调用,它在纯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>");

    %>


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

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

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

错误发生在以下位置:

String astart = request.getParameter("start");
参数是
st
sp
,而不是
start
stop

你需要:

String astart = request.getParameter("st");
String sptimes=request.getParameter("sp");
或者,您可以更改js以传递正确的参数:

data: {start:start, stop:stop},

如何使用函数
myAjax()
?我从另一个javascript函数对myAjax进行了一个简单调用。像这样myAjax();您可以发布kscript.jsp文件吗?如果您收到
500内部服务器错误
,那么这是一个服务器问题,如果您收到
500
,显然ajax正在“工作”。检查您的服务器日志是否有错误。您的参数是
st
sp
,而不是
start
stop
。我确实这样做了。该文件与我完全以jquery编写此文件时位于同一文件夹中,一切正常。我没有更改jsp文件的位置。这有点古怪。是的,我还在IE上使用F12来获取控制台;是的,没错。实际上,我在我的代码中就是这么做的。我只是从代码中复制了一个片段,并更改了这些参数。它没有起作用。@bdfios继续调试jsp,500错误意味着错误发生在服务器上,而不是客户端。确定。我会的。谢谢大家的帮助。