jquery中未执行回调函数
callback function not executed in jquery
我正在学习在jquery中发送get请求。下面是生成get请求的代码块。我在servlet中检查了get请求是否成功,但没有调用回调函数。我想不通这个问题。
$.get('http://localhost:8080/PC_controlo/StatusServlet?id=1001',
function(data){
alert('hello');
});
浏览器网络选项卡显示这个
[01:21:26.759] GET http://localhost:8080/PC_controlo/StatusServlet?id=1001 [HTTP/1.1 200 OK 1ms]
+
这就是我在servlet中所做的。
PrintWriter out = response.getWriter();
out.write("Working");
out.close();
和.fail(msg){alert('消息失败:'+JSON.stringfy(msg
Failed with message: {"readyState":0,"responseText":"","status":0,"statusText":"error"}
提前感谢:)。
我用Google.com替换URL做了一些测试,但我遇到了同样的问题。我注意到,如果你使用.done()、.always()和.error(),你可能会更幸运地弄清楚到底发生了什么
http://jsfiddle.net/gQfsd/
$.get('http://www.google.com/')
.done(function(data) {
alert('Success! Data loaded: ' + data);
})
.fail(function(msg) {
alert('Failed with message: ' + JSON.stringify(msg));
})
.always(function() {
alert('Always Alerts');
});
最有可能的情况是您的请求没有成功完成,因此您的success处理程序函数回调没有被调用,因为没有成功。
根据jQuery文档,$.get
的成功处理程序函数是:(强调挖掘)
如果请求成功,则执行的回调函数
为了更好地控制AJAX请求的错误处理,通常建议使用$.ajax
,您可以阅读此处的文档。这将允许您使用error
回调,该回调将在请求因某种原因无法完成时触发。
$.get
只是一种隐蔽地委托给$.ajax
的快捷方法。
为什么你的请求失败了?没有线索。这是在你的浏览器和你正在交谈的服务器之间。这可能是一百万件事。检查浏览器开发控制台的网络选项卡,查看请求和响应的样子。
可能是调用本身的通信错误,或者由于某种原因调用失败。也检查故障:
$.get('http://localhost:8080/PC_controlo/StatusServlet?id=1001')
.success(function(result) {alert('success'); })
.error(function(jqXHR, textStatus, errorThrown) {alert(textStatus) });
相关文章:
- JavaScript回调函数
- 如何在回调函数中执行流
- 回调函数中传递参数的困难(Google Map API Markers)
- 如何正确地将参数传递给RequireJS回调函数
- 回调函数在python代码中离线
- 从AJAX回调函数中分离数据
- 赋值后的回调函数
- 如何在javascript回调函数中返回多个变量
- 函数表达式,返回回调函数
- 等待回调函数执行
- JavaScript回调函数和Google Feed API
- 如何从ajax成功回调函数中读取javascript变量
- 正在保存JavaScript内部回调函数中的值
- 有没有什么方法可以停止Jquery中的animate(也可以停止完整的回调函数)
- 如何在javascript中添加带有回调函数的按钮点击事件作为window.conf
- 在Golang回调函数中启用CORS
- 在初始函数完成之前调用回调函数
- jQuery Mobile:如何在$.Mobile.changePage之前运行回调函数
- 即使使用回调函数也无法返回值
- 为什么prototypjs观察到回调函数有绑定