2013-04-16 59 views
0

我有以下jquery ajax调用,并且它在纯粹的jquery文件中工作正常。从javascript进行Ajax调用

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>"); 

    %> 
+0

你如何使用该功能'myAjax()'? – Shoe

+0

我从另一个javascript函数简单地调用了myAjax。像这样myAjax(); – bdfios

+0

你能发布kscript.jsp文件吗? – insomiac

回答

0

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

+0

我确定。该文件与我完全写成jquery时的文件夹在同一文件夹中,并且一切正常。我没有改变jsp文件的位置。这是一个奇怪的。是的,我还使用IE上的F12来获取控制台。 – bdfios

+0

你有没有试过/kscript.jsp? – elopez

+0

我刚刚尝试过,但没有奏效。 – bdfios

0

我想你犯了一些错误,以调用java脚本method.so检查或你有没有描述javascript标记内的ajaxcall。

+0

我简单地使用ajaxFunction()来调用包含Ajax调用的函数; – bdfios

0

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

错误发生在这里:

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

的参数是stsp,不startstop

你需要:

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

或者,你可以改变JS传递正确的参数:

data: {start:start, stop:stop}, 
+0

是的,这是事实。我其实是在我的代码中做的。我从代码中只复制了一段代码并改变了这些参数。它没有工作,''。 – bdfios

+0

@bdfios不断调试jsp,500错误意味着服务器发生错误,而不是客户端。 –

+0

好的。我会。感谢大家的帮助。 – bdfios