【发布时间】:2018-12-25 22:13:26
【问题描述】:
在跨域上使用 JQuery Ajax 进行 Web 服务调用时出现错误。
我的 JQuery 代码是
window.myCallback = function(data) {
alert(JSON.stringify(data));
};
$("#submit").click(function(event){
$.ajax({
url: "http://jsfiddle.net/echo/jsonp/",
type: 'GET',
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'myCallback'
});
});
我的服务器代码是java web service
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
@Path("/users")
public class UserDetails {
@GET
@Produces({MediaType.APPLICATION_JSON})
public Response getUserDetails(){
User user = new User("sam","smith","abc123","xyz");
ResponseBuilder rb = Response.status(200).entity(user);
return rb.header("Access-Control-Allow-Origin",
"*").header("Access-Control-Allow-Headers", "*").build();
}
}
错误:
【问题讨论】:
-
您没有收到 JSONP 响应,您收到的是 JSON - JSONP 将是 application/javascript
-
错误是什么?
-
@ArashKazemi 看图片