确保已经导入这两个包
jackson-core-asl-1.9.11.jar
jackson-mapper-asl-1.9.11.jar
页面:
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$.ajax({
url:"jsonPTest.action",
type:"get",
dataType:"jsonp",
data:{username:"yjp"},
jsonp:"callback", //服务端用于接收callback调用的function名的参数
jsonpCallback:"func", //callback的function名称,服务端会把名称和data一起传递回来
success:function(data){
alert(data.username);
},
error:function(){
alert("error");
}
});
</script>
后台:
package yjp.controller;
import org.codehaus.jackson.map.util.JSONPObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class JsonPTest {
@RequestMapping("/jsonPTest")
@ResponseBody
public JSONPObject testJsonP(String username,String callback){
User user = new User();
user.setUsername(username);
return new JSONPObject(callback, user);
}
}
请求url: http://localhost:8080/springmvc/jsonPTest.action?callback=func&username=yjp