首先需要在后台返回Json格式的数据,.net中处理Json数据的API,添加一个dll的链接库,如图:


后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;
using Newtonsoft.Json;

namespace WCFTest2
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“WCFservice”。
    // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 WCFservice.svc 或 WCFservice.svc.cs,然后开始调试。
    [ServiceContract(Namespace = "")]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]  
    public class WCFservice 
    {
        [OperationContract]
        [WebInvoke(RequestFormat = Webmessageformat.Json,ResponseFormat = Webmessageformat.Json,BodyStyle = WebMessageBodyStyle.WrappedRequest)]
        public string InsertRow(int id,string title,string content)
        {           
            string data = string.Format("您输入的标题是:{0}<br/><br/>您输入的内容是:{1}<br/><br/>此文章的id是:{2}",title,content,id.ToString());           
            var jsonStr = JsonConvert.SerializeObject(data);
            return jsonStr;
        }
    }
}

前端代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<Meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
   
     <script type="text/javascript">
         function callServer(){
             var id = Number($("#id").val());
             var title = String($("#title").val());
             var content = String($("#content").val());
             $.ajax({
                 type: 'post',url: '/WCFservice.svc/InsertRow',contentType: 'text/json',data: '{"id":' + id + ',"title":"' + title + '","content":"' + content + '"}',success: function (data) {
                     $.each(data,function (i,n) {
                         alert(n);
                         $("#divContent").prepend("<p>"+n+".</p> ");
                     });
                 }
             });
         }
     </script> 
    <style type="text/css">
            #content{height: 181px;width: 549px;}
            #title{width: 544px;}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    文章标题:<input type="text" id="title" />
        <br />
    文章内容:<textarea id="content"></textarea>
    <input type="hidden" id="id" value="1" /><br />
    <input type="button"  value="提交" onclick="callServer();" />
    </div><br />
     <div id="divContent"></div>
      <p></p>
    </form>
</body>
</html>

config配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="AllenBehavior">
          <enableWebScript />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
      multipleSiteBindingsEnabled="true" />
    <services>
      <service name="WCFTest2.WCFservice">
        <endpoint address="" behaviorConfiguration="AllenBehavior" binding="webHttpBinding" contract="WCFTest2.WCFservice" />
      </service>
    </services>
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--
        若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。
        在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。
      -->
    <directorybrowse enabled="true"/>
  </system.webServer>

</configuration>

实现效果:

WCF解析jason返回的小实例的更多相关文章

  1. 从Android应用程序中消耗WCF Web服务?

    我想从Android应用程序中使用WCFWeb服务.我曾经使用过.asmxweb服务,但我不知道如何在Android应用程序中使用SCFWeb服务.我用谷歌搜索它但没有找到任何东西.如果有人做过,请帮助我.提前致谢.解决方法Hereisanarticleexplaininghowtoconsumewebservicewithandroidingeneral当涉及到WCF并且可以与您想要小心的jav

  2. 具有证书的WCF客户端身份验证

    同一服务正在使用.pfx证书进行身份验证。客户端不愿意共享.pfx文件,并坚持要求我实现一种使用.cer证书的方法。我已尝试安装证书并将其导出为.pfx格式,但由于.cer文件没有私钥,因此禁用了以.pfx导出的选项。

  3. wcf – ClientCredentialType = Windows和= Ntlm之间的差异

    FeedbackID=354236这种情况听起来类似于clientCredentialType=Windows在域帐户下运行时失败,并且在本地帐户下运行时工作).问题是建议的修复程序需要更改WCF客户端配置文件–但在我的情况下,我使用SOAP1.1与非WCF客户端.clientCredentialType=Windows使用内置的Windows身份验证,可以通过ActiveDirectory和NTLM.显然,NTLM类型将仅使用NTLM进行身份验证.我相信你已经看过了,但这里是WCF安全性的链接:http

  4. 如何在1个Windows服务中托管2个WCF服务?

    我有一个WCF应用程序,它有两个服务,我试图使用net.tcp在一个Windows服务中托管.我可以运行任何一种服务,但只要我尝试将它们都放在Windows服务中,只有第一个服务加载.我已经确定第二个服务ctor正在被调用,但OnStart永远不会被激活.这告诉我WCF发现加载第二个服务有问题.使用net.tcp我知道我需要打开端口共享并启动服务器上的端口共享服务.这一切似乎都运作正常.我已经尝试

  5. windows-services – Msmq和WCF服务

    我是否遗漏了为队列和Windows服务设置的任何权限,如果是这样,你能否建议在哪里添加这些权限?汤姆·霍兰德有一个关于使用WCF的MSMQ的三部分博客系列–非常值得一试!

  6. 在带有WCF的App.config中使用Windows角色身份验证

    谢谢如果我理解得很好,你想在运行时选择角色.这可以通过WCF操作中的permission需求来完成.例如.

  7. wcf – 什么是任务管理器中的CPU时间?

    我有一些WCF服务托管在Windows服务中.昨天我看了任务管理器,注意到我的Windows服务进程的cpu时间是5个小时以上,而大多数其他进程都是0.这意味着什么?

  8. .net – 在IIS 7.5中托管WCF与Windows服务的性能注意事项

    我有一个简单直接的问题:是否有任何性能优势,我不知道什么时候比较主机的IIS7.5中的WCF服务与Windows服务?

  9. wcf – 为我配置“使用端点配置服务”演示失败(Microsoft / endpoint.tv / Pluralsight)

    HTTP无法注册URLhttp://:8732/EvalService/….:P我试过评论新的终点无济于事.即使是原始的也会因此错误而失败.如果我把它们放回原来的端口[不是那么]1337也没关系.这是App.config,并没有什么突出的问题:有什么问题/我该如何解决?

  10. 需要一步一步的WCF作为Windows服务

    我正在尝试找到一个(好的)分步创建WCF并将其作为Windows服务托管的示例.我正在使用VS2010并且有一个带有1个函数的简单WCF.请不要谷歌和发布;我正在寻找某人实际使用过的资源.我所做的大部分Google搜索都没有达到我想要做的事情.我只想获取我的WCF库,并找到一种方法将其安装为WindowService.我在2008年完成了,但2010年是……

随机推荐

  1. xe-ajax-mock 前端虚拟服务

    最新版本见Github,点击查看历史版本基于XEAjax扩展的Mock虚拟服务插件;对于前后端分离的开发模式,ajax+mock使前端不再依赖后端接口开发效率更高。CDN使用script方式安装,XEAjaxMock会定义为全局变量生产环境请使用xe-ajax-mock.min.js,更小的压缩版本,可以带来更快的速度体验。

  2. vue 使用 xe-ajax

    安装完成后自动挂载在vue实例this.$ajaxCDN安装使用script方式安装,VXEAjax会定义为全局变量生产环境请使用vxe-ajax.min.js,更小的压缩版本,可以带来更快的速度体验。cdnjs获取最新版本点击浏览已发布的所有npm包源码unpkg获取最新版本点击浏览已发布的所有npm包源码AMD安装require.js安装示例ES6Module安装通过Vue.use()来全局安装示例./Home.vue

  3. AJAX POST数据中文乱码解决

    前端使用encodeURI进行编码后台java.net.URLDecoder进行解码编解码工具

  4. Koa2框架利用CORS完成跨域ajax请求

    实现跨域ajax请求的方式有很多,其中一个是利用CORS,而这个方法关键是在服务器端进行配置。本文仅对能够完成正常跨域ajax响应的,最基本的配置进行说明。这样OPTIONS请求就能够通过了。至此为止,相当于仅仅完成了预检,还没发送真正的请求呢。

  5. form提交时,ajax上传文件并更新到&lt;input&gt;中的value字段

  6. ajax的cache作用

    filePath="+escape;},error:{alert;}});解决方案:1.加cache:false2.url加随机数正常代码:网上高人解读:cache的作用就是第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取。

  7. 浅谈ajax上传文件属性contentType = false

    默认值为contentType="application/x-www-form-urlencoded".在默认情况下,内容编码类型满足大多数情况。在这里,我们主要谈谈contentType=false.在使用ajax上传文件时:在其中先封装了一个formData对象,然后使用post方法将文件传给服务器。说到这,我们发现在JQueryajax()方法中我们使contentType=false,这不是冲突了吗?这就是因为当我们在form标签中设置了enctype=“multipart/form-data”,

  8. 909422229_ajaxFileUpload上传文件

    ajaxFileUpload.js很多同名的,因为做出来一个很容易。我上github搜AjaxFileUpload出来很多类似js。ajaxFileUpload是一个异步上传文件的jQuery插件传一个不知道什么版本的上来,以后不用到处找了。语法:$.ajaxFileUploadoptions参数说明:1、url上传处理程序地址。2,fileElementId需要上传的文件域的ID,即的ID。3,secureuri是否启用安全提交,默认为false。4,dataType服务器返回的数据类型。6,error

  9. AJAX-Cache:一款好用的Ajax缓存插件

    原文链接AJAX-Cache是什么Ajax是前端开发必不可少的数据获取手段,在频繁的异步请求业务中,我们往往需要利用“缓存”提升界面响应速度,减少网络资源占用。AJAX-Cache是一款jQuery缓存插件,可以为$.ajax()方法扩展缓存功能。

  10. jsf – Ajax update/render在已渲染属性的组件上不起作用

    我试图ajax更新一个有条件渲染的组件。我可以确保#{user}实际上是可用的。这是怎么引起的,我该如何解决呢?必须始终在ajax可以重新呈现之前呈现组件。Ajax正在使用JavaScriptdocument.getElementById()来查找需要更新的组件。但是如果JSF没有将组件放在第一位,那么JavaScript找不到要更新的内容。解决方案是简单地引用总是渲染的父组件。

返回
顶部