I was getting the same problem just 15 days before.
And i googled it so much and found that it may work if i hosted it on IIS server.
try hosting that in IIS and check what happens.
And check the request header the request header might sending request with OPTION method instead of GET/POST.Try to explore on that also.
change your contract method to
[WebInvoke(Mehtod="*",...]
Hope This Helps You.
-----------------------
Pratik Bhuva