带有Java服务器页面的JSONP

带有Java服务器页面的JSONP,java,jquery,json,servlets,jsonp,Java,Jquery,Json,Servlets,Jsonp,我读了一点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&g

我读了一点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>
不幸的是,我从来没有得到警告。我做错了什么

更新
此错误消息“res not found”是什么意思。要找到它,它必须命名为什么?

好的。。。我发现了错误。如果您已说明以下内容,则上述代码有效:

  response.setContentType("text/javascript; charset=UTF-8");
完整的工作代码如下所示(Servlet):


如果您直接在浏览器中调用GET服务()。输出正确吗?日本。我调试了Java部分,将所有内容完美地结合在一起。输出如下:{“lname”:“Andreae”,“fname”:“Volker”}但可能在Java部分中,“sendRedirect(url)”是错误的,不应该是重定向?但是我如何才能将数据返回到初始页面呢?好的,这是一个好消息-后端(您的控制器)工作正常。好吧,我不确定:我找到了一个如何用一个函数替换$.getJSON的摘录,这个函数讲得更多,所以我尝试了这个:
$.ajax({url:'http://localhost:8080/test/services/export/getuser.mvc?callback=?,数据类型:'json',成功:函数(结果){alert(“收到的令牌:+result.token”);},错误:函数(请求,文本状态,错误抛出){alert(“error”);},完成:函数(请求,文本状态){//获取其他信息警报(“完成”);})
我得到的答案是错误和完成,text status=parseerror和request.responseText=undefined这意味着什么?parseerror意味着浏览器无法将响应解析为json。我会返回并确保返回正确的json。将输出粘贴到。
  response.setContentType("text/javascript; charset=UTF-8");
@Controller
@RequestMapping("/secure/profile/services/export/")
public class AccountServiceProviderController extends ProfileDashboardController {

    private static final String DESC_NAME = "ACCOUNT SERVICE PROVIDER CONTROLLER";


    @RequestMapping("/getuser")
    public @ResponseBody
    JSONPObject list(@RequestParam("callback") final String callback, final HttpServletResponse response) {

        response.setContentType("text/javascript; charset=UTF-8");

        return new JSONPObject(callback, getJson());

    }

    public JSONObject getJson() {
        User user = getCurrentUser();
        JSONObject json = new JSONObject();

        // User muss eingeloggt sein
        if (user != null) {
            json.put("lname", user.getLastName());
            json.put("fname", user.getFirstName());

            logger.info("Daten werden exportiert: " + json.toString());
            return json;
        }
        return null;

    }

}