 <p>This problem has been bugged me several times in past 3 years. Every time I met it and fixed it and then forgot to take a note. Next time it happened, I start scratching and search for solution one more time. So, let me record my solution here and share with whoever might deal with this problem. Follow the steps below and make sure your are using JQuery 1.8 or upper with .net framework 4.0 and it will work.</p> <ul> <li>In the behavior note under system.serviceModel note, set to webHttp:</li> </ul> <blockquote> <pre><code>&lt;behaviors&gt; &lt;endpointBehaviors&gt; &lt;behavior name="webHttpBehavior"&gt; &lt;webHttp /&gt; &lt;/behavior&gt; &lt;/endpointBehaviors&gt; &lt;/behaviors&gt; </code></pre> </blockquote> <ul> <li>Define an JsonP binding:</li> </ul> <blockquote> <pre><code>&lt;bindings&gt; &lt;webHttpBinding&gt; &lt;binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" /&gt; &lt;/webHttpBinding&gt; &lt;/bindings&gt; </code></pre> </blockquote> <ul> <li>set your service bindingConfiguration to the binding just defined</li> </ul> <blockquote> <pre><code>&lt;services&gt; &lt;service name="dpRestService.qcmmsService"&gt; &lt;endpoint address="" behaviorConfiguration="webHttpBehavior" binding="webHttpBinding" bindingConfiguration="webHttpBindingWithJsonP" contract="gwsRestService.qcmmsService" /&gt; &lt;/service&gt; &lt;/services&gt; </code></pre> </blockquote> <ul> <li>Add Jaon as response Format for ResponseFormat attribute</li> </ul> <blockquote> <p>[WebGet(UriTemplate = "<em>your service template</em>" , ResponseFormat = WebMessageFormat.Json)]</p> </blockquote> <ul> <li>Jquery request:</li> </ul> <blockquote> <p>$.ajax({ url: url, type: 'GET', //Type of ajax call data: {}, contentType: 'application/json', crossDomain: true, dataType: 'jsonp',<br> success: callBackFun, error: errorFun });</p> </blockquote> <p>I hope this will help.</p>