从javascript进行Ajax调用
我有以下jQueryAjax调用,它在纯jquery文件中运行良好从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
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错误意味着错误发生在服务器上,而不是客户端。确定。我会的。谢谢大家的帮助。