jquery – 使用json将发送请求发送到RESTful WCF

前端之家收集整理的这篇文章主要介绍了jquery – 使用json将发送请求发送到RESTful WCF前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经尝试了每个组合来发送请求从jQuery向RESTful WCF发送POST请求.

有人可以模仿并使其发挥作用.代码在这里:http://pastebin.com/Ua97919C

我在过去2年与WCF合作,但每次发送POST请求都会让我很烦恼.

我努力让它在过去的4天里工作,并且经历了至少35-40个帖子.

最终,此请求将从iPhone发送到WCF.

当我用Fiddler检查时,错误主要是:*服务器遇到处理请求的错误.异常消息是’传入消息具有意外的消息格式’Raw’.该操作的预期消息格式是’Xml’,’Json’.这可能是因为尚未在绑定上配置WebContentTypeMapper.有关更多详细信息,请参阅WebContentTypeMapper的文档.请参阅服务器日志以获取更多详异常堆栈跟踪是:

System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(Message message,Object[] parameters)
   at System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(Message message,Object[] parameters)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

解决方法

在您的解决方案中添加Global.ascx文件,并使用以下代码替换代码
protected void Application_BeginRequest(object sender,EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin","*");
    if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
    {
        HttpContext.Current.Response.AddHeader("Cache-Control","no-cache");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods","GET,POST");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers","Content-Type,Accept");
        HttpContext.Current.Response.AddHeader("Access-Control-Max-Age","1728000");
        HttpContext.Current.Response.End();
    }
}

还有一件事chnage dataType:’text’

$.ajax({
    type: "POST",url: "http://localhost:4638/Edulink.svc/SaveUserData",dataType: "text",contentType: "application/json",data:'{"EmailID":"praveen","LevelID": 1}',success:function(data,status) {             
        console.log(data); //gives 1                
    },error:function(request,status,error) {
        alert("o0ops");           
    }
});

猜你在找的jQuery相关文章