首页 新闻 会员 周边

ajax 提交wcf 一个对象

0
悬赏园豆:20 [已解决问题] 解决于 2013-03-26 16:01

如果要提交的参数是个模型对象 该怎么操作呢

像这一种:

[DataContract]

public class Person
{

[DataMember]

public string Name { get; set; }

[DataMember]

public string Address { get; set; }

} 

 

[OperationContract]
        [WebInvoke(RequestFormat = WebMessageFormat.Json)]
        public Person DoWork2(Person person)
Arthur.Wang的主页 Arthur.Wang | 初学一级 | 园豆:25
提问于:2013-01-18 14:21
< >
分享
最佳答案
0

如果直接提交 你可以拼接json,属性名对了就行了,不过还有一种最简单的方法,用jquery.form   ajaxForm是jQuery.form插件提供的功能。

 

<form id="form1" action="/AjaxDemo/AddCustomer.cspx" method="post">
    <p><b>新增客户资料</b></p>
    <span>Name: </span><input type="text" name="Name" value="abc" /><br />
    <span>Age: </span><input type="text" name="Age" value="20" /><br />
    <span>Address: </span><input type="text" name="Address" value="武汉" /><br />
    <span>Tel:</span> <input type="text" name="Tel" value="12345678" /><br />
    <span>Email: </span><input type="text" name="Email" value="test@163.com" /><br />
    <br />
    <input type="submit" name="btnAddCustomer" value="保存客户资料" />
</form>
 
<script type="text/javascript">
$(function(){
    
    // 只需要下面这个调用就可以将表单改成异步提交方式!
    $("#form1").ajaxForm({
        success:function(result){
            $("#output").val(result);
        }
    });
});

</script>

大体上 这样你就更简单了

 
收获园豆:6
架构师修行之路 | 菜鸟二级 |园豆:322 | 2013-01-18 17:12
其他回答(2)
0

把它转换成 JSON 字符串提交。

收获园豆:8
Launcher | 园豆:45045 (高人七级) | 2013-01-18 14:28

确定行吗 为什么我提交的就出现了这个异常呢

{"ExceptionDetail":null,"ExceptionType":null,"Message":"由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或打开对每个 Microsoft .NET Framework SDK 文档的跟踪并检查服务器跟踪日志。","StackTrace":null}
支持(0) 反对(0) Arthur.Wang | 园豆:25 (初学一级) | 2013-01-18 16:03

@yahue: 我确定行,只要你构造的请求是正确的。比如,HTTP 动作为 POST,必要的HTTP HEADERS 还是要有的,Content-Type: application/json,Accept: application/json; charset=utf-8。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-01-18 16:06
0

只要 键 跟属性名一样就行吧

$.ajax({data:{Name:,Address...}

收获园豆:6
Qlin | 园豆:2403 (老鸟四级) | 2013-01-18 15:09

确定行吗 为什么我提交的就出现了这个异常呢

{"ExceptionDetail":null,"ExceptionType":null,"Message":"由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或打开对每个 Microsoft .NET Framework SDK 文档的跟踪并检查服务器跟踪日志。","StackTrace":null}
支持(0) 反对(0) Arthur.Wang | 园豆:25 (初学一级) | 2013-01-18 16:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册