我正在尝试通过 jquery 向基于 REST 的 API(基于 JAX-RS/Jersey 的 API)发送获取请求。正如我在日志中看到的那样,请求成功到达 API,在 firebug 上我看到 200 ok 响应
下面是我的基于 jquery 的客户端
$(document).ready(function(){
$("button").click(function(){
$.ajax({
type: 'GET',
url: 'http://mtnlp.com:8080/restdemo/resources/employee/1',
dataType: "json",
success: function(data){
alert("success");
},
error: function(xhr){
alert("error"+xhr.status);
}
});
});
});
但 xhr.status 为 0。
我的资源是
@GET
@Produces(MediaType.APPLICATION_JSON)
public String getJson( @PathParam("empno") int empno) {
JSONObject jObject = new JSONObject();
System.out.println("someone calls me");
switch(empno) {
case 1 :
jObject.put("name", "George Koch");
jObject.put("age", "58");
break;
case 2:
jObject.put("name", "Peter");
jObject.put("age", "50");
break;
default:
jObject.put("name", "Unknown");
jObject.put("age", "-1");
} // end of switch
return jObject.toString();
}
当我使用基于球衣的客户端时,它工作正常。但是对于基于 jquery 的客户端,我面临上述问题。
请在下面找到 HTTP 获取请求的请求和响应标头
响应标头
Content-Type: application/json
Date: Tue, 04 Jun 2013 06:38:12 GMT
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
请求标头
Accept: application/json, text/javascript, */*; q=0.01
Accept-Encoding: gzip, deflate Accept-Language en-US,en;q=0.5
Host: localhost:8080
Origin: null
User-Agent: Mozilla/5.0 (Windows NT5.1; rv:19.0) Gecko/20100101 Firefox/19.0