我对 JSONP 有点了解……但感觉我还是很笨。我创建了以下页面,它应该通过我的 web 服务以 JSON 表示法获取信息:
<html>
<head>
<title> SomeHtml Form </title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function getParameters(){
$.getJSON('http://localhost:8080/test/services/export/getuser.mvc?callback=?',function(res){
alert('Your name is '+res.lname);
});
}
</script>
</head>
<body >
<button onclick="getParameters();">Get Name</button>
</body>
</html>
我在 Liams 的帮助下创建了这个主题评论:简单的 jQuery、PHP 和 JSONP 示例?
更新 13-07-2012 15:06 我设法从我的 Servlet 中获得了正确的结果,但现在我从接收网站收到了一个不同的错误(“错误:未定义资源”)。对于我的 JSONP 数据,正确的密钥是什么,以便站点可以读取它?
另一方面,我有一个使用 SPRING 和 Java Servlet 的 Web 服务,它被$.getJSON('http://localhost:8080/test/services/export/getuser.mvc?callback=?',...)
此服务调用,如下所示:
@Controller
@RequestMapping("/services/export/")
public class AccountServiceProviderController extends ProfileDashboardController {
private static final String DESC_NAME = "ACCOUNT SERVICE PROVIDER CONTROLLER";
@RequestMapping("/getuser")
public @ResponseBody
JSONPObject list(final HttpServletResponse response) {
return new JSONPObject("res", getJson());
}
public JSONObject getJson() {
User user = getCurrentUser();
// logger.debug("ID: " + id);
// json
JSONObject json = new JSONObject();
json.put("lname", user.getLastName());
json.put("fname", user.getFirstName());
logger.info(json.toString());
return json;
}
}
不幸的是,我从来没有收到警报。我做错什么了?
更新 此错误消息:“未找到资源”是什么意思。它有什么名字才能被发现?