这是我的 jQuery Ajax 代码
$(document).ready(function() {
$("#submitService").click(function(){
alert("Before ajax");
$.ajax({
type: "GET",
url: "http://api.openweathermap.org/data/2.5/weather?q=London,uk",
headers: {"accept": "application/json"},
success: function (dataItem) {
alert("Success..");
},
complete: function (dataItem) {
alert("Completed");
},
error: function (dataItem) {
alert("Error in making engine call."+dataItem);
}
});
alert("After ajax");
}); //click()
});
当我的按钮被点击时,它进入[完成]和[错误]回调方法,但不进入“成功”回调方法。我怎样才能看到错误是什么?
我尝试 curl 相同的语句并得到有效的响应:
curl "http://api.openweathermap.org/data/2.5/weather?q=London,uk" -H "accept: application/json"
我使用的是 jQuery 1.7.2
<script type="text/javascript" src='<spring:url value="/resources/jquery/js/jquery-1.7.2.min.js"/>'></script>
在 FireBug 中,它显示该请求带有 200 OK,但没有响应正文。但是当我通过curl 执行此操作时,我看到了响应正文。
可能是什么问题? 谢谢
最佳答案
我猜是URL编码问题。将逗号 ,
替换为编码 %2C
url: "http://api.openweathermap.org/data/2.5/weather?q=London%2Cuk"
关于java - JQuery AJAX 无法获得成功回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20185881/