I have made a Rest Web Service:
package org.jboss.samples.rs.webservices;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Path("/MyRESTApplication")
public class HelloWorldResource {
@GET()
@Produces("application/json")
@Path("/dealInfo/{dealId}")
public String sayHello(@PathParam("dealId") int dealId) {
System.out.println("dealid......"+dealId);
switch(dealId) {
case 1 :System.out.println("employee id.....");
return "{'name':'George Koch', 'age':58}";
case 2:
return "{'name':'Peter Norton', 'age':50}";
default:
return "{'name':'unknown', 'age':-1}";
} // end of switch
}
}
When I go to internet explorer & type this in the address bar:
http://localhost:8080/nagarro-0.0.1-SNAPSHOT/MyRESTApplication/dealInfo/2
It is giving me:
{'name':'Peter Norton', 'age':50}
But when I call it using an ajax call in a JQuery method. e.g.
$.ajax({
type: "GET",
url: "http://localhost:8080/nagarro-0.0.1-SNAPSHOT/MyRESTApplication/dealInfo/2",
data: "",
success: function(resp){
// we have the response
alert("Server said123:\n '" + resp + "'");
},
error: function(e){
alert('Error121212: ' + e);
}
});
I am getting an Error in this call.

When I am debugging using F12 in IE, I am getting following as well
"Invalid JSON: {\'name\':\'Peter Norton\', \'age\':50}"
Would anybody tell me what could be the problem in my call.
Your service and output is right.
Problem is same orgin policy http://en.wikipedia.org/wiki/Same_origin_policy
Ajax does not allow access to inner level service. For example, in the www.example.com/index.html, you can not access www.example.com/service/book?id=1. Because you changed your context path from www.example.com to www.example.com/service/book. This is not allowed for security but we have one solution
Previously, I had same problem and I solved it with below code.
I think it can help you.
Key point is dataType: 'json'
function testService()
{
$.ajax(
{
dataType: 'json',
headers: {
Accept:"application/json",
"Access-Control-Allow-Origin": "*"
},
type:'GET',
url:'http://localhost:8080/service/book/search/1',
success: function(data)
{
document.writeln("Book id : " + data.id);
document.writeln("Book title : " + data.name);
document.writeln("Description : " + data.description);
},
error: function(data)
{
alert("error");
}
});
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With