我有以下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>");
%>
答案 0 :(得分:0)
它看起来像一个文件夹结构问题,你应该确保相对路径没问题,我的意思是,如果你是从js调用你应该指向/jsp/yourJsp.jsp,顺便问一下......顺便说一下,您使用F12工具验证来自服务器的响应吗?
答案 1 :(得分:0)
我认为你在调用java脚本方法时犯了一些错误。所以检查或者你是否在javascript标签中描述了ajaxcall。
答案 2 :(得分:0)
您正尝试在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},