I'm making a WCF web service that will return a json object, but I keep getting a 400 bad request error when I try to make an AJAX call:
OPTIONS http://localhost:55658/WebServiceWrapper.svc/GetData?_=1318567254842&value=97 HTTP/1.1
Host: localhost:55658
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
DNT: 1
Connection: keep-alive
Origin: http://localhost:3000
Access-Control-Request-Method: GET
Access-Control-Request-Headers: content-type
HTTP/1.1 400 Bad Request
Server: ASP.NET Development Server/10.0.0.0
Date: Fri, 14 Oct 2011 04:40:55 GMT
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Length: 0
Connection: Close
Here is my AJAX call:
$.ajax({
contentType: 'application/json',
url: 'http://localhost:55658/WebServiceWrapper.svc/GetData',
dataType: 'json',
data: {
value: 97
},
success: function (data) {
alert('success' + data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('failure' + errorThrown);
}
});
Here is my WCF service definition:
public class WebServiceWrapper : IWebServiceWrapper
{
public object GetData(int value)
{
return new
{
ReturnValue = string.Format("You entered: {0}", value)
};
}
}
And it's interface:
[ServiceContract]
public interface IWebServiceWrapper
{
[OperationContract]
object GetData(int value);
}
I know I've solved this problem before, but I can't remember what I had done before. Any help would be greatly appreciated as the hole I'm putting in the wall is just getting bigger and bigger.