没有来自 getJSON 的返回值
No return value from getJSON
当我运行它时,不会触发带有"成功"的警报。我用火虫检查过,它告诉我 ret 是未定义的。那是什么意思?
function checkUni() {
var URL = "http://localhost:8080/GradSchoolApp/test.jsp";
var ret = $.getJSON(URL, function(data, textStatus) {
alert("success");
});
}
编辑:
这是测试.jsp顺便说一句
<%@ page language="java" contentType="application/json; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="java.util.*, net.sf.json.JSONObject"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
response.setContentType("application/json");
JSONObject jo = new JSONObject();
jo.put("location", "1");
jo.put("name", "someUni");
out.println(jo);
out.flush();
%>
</body>
</html>
AJAX 调用不起作用。要检查的几点,URL是否正确?您是否检查了应用程序服务器日志以查看调用是否已到达。如果 AJAX 调用成功,你能检查 HTTP 代码的 firebug 吗?
编辑:
(从 text/json 更改为 application/json)谢谢 Bergi
.JSP:
<%@ page contentType="application/json" %>
Java Servlet:
response.setContentType("application/json");
首先检查是否返回 json 数据的".jsp"文件
再使用一个参数进行回调
getJSON: function( url, data, callback ) {
return jQuery.get( url, data, callback, "json" );
}
像这样的用户
function checkUni() {
var URL = "http://localhost:8080/GradSchoolApp/test.jsp";
var ret = $.getJSON(URL,"",function(data){
alert("success");
});
}
ret
的作用域为函数,因此只有函数中的代码才能访问它。 我的猜测是,您没有在本地计算机的端口 8080 上运行 Web 服务器,或者 URL 由于其他原因无效。 如果您还想获得错误的回调,请尝试.ajax
(小提琴):
function checkUni() {
var URL = "http://localhost:8080/GradSchoolApp/test.jsp";
var ret = $.ajax(
{
url: URL,
success: function(data, textStatus) {
alert('success!');
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Error "' + textStatus + '": ' + errorThrown);
}
});
}
您可能还想检查您的 json,getJson 页面警告它会在 inavlid json 上静默失败,包括引用属性名称等严格要求,您可以尝试只使用 .get
和反序列化自己。
相关文章:
- Javascript返回值只在循环中返回一次
- XMLHttpRequest未返回值-状态202
- 根据是否解析了 Promise 从函数返回值
- Angular,函数在(模型)工厂中返回值
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 如何从客户端的数组中获取用户输入和返回值
- Javascript中带有返回值的嵌套函数
- 为变量分配多个nodejs导出返回值时出现问题
- 通过回调从onreadystatechange返回值
- 从Ajax函数返回值
- JavaScript生成器中收益率返回值的解析
- HTML如何根据javascript函数的返回值限制文本输入
- 返回值+new Date()与Date.now()是否不同
- 使用在函数外部声明的变量的 Javascript 返回值 + undefined
- 如何从 getJSON 返回值
- 没有来自 getJSON 的返回值
- 从getJSON函数返回值
- getJSON并返回值字符串
- 使用$.getJSON检索JSON数组并返回值
- jQuery.getJSON()错误:浏览器链接:调用返回值回调失败:类型错误:无法读取属性'文件'为n