【问题标题】:WCF - Form posting not binding with modelWCF - 表单发布不与模型绑定
【发布时间】:2016-04-13 17:54:17
【问题描述】:

我有一个表单,我想使用带有 WCF 的 AJAX 提交,但问题是我的 Model("Client") 没有被填充。 当我提交表单时,它会到达服务但“客户”的所有字段都是空的。 我在这里错过了什么?

$("#myForm").on("submit", function (e) {
var Type = "POST";
var Url = "Service.svc/GetUser";
var Data = JSON.stringify($(this).serializeArray());
var ContentType = "application/json; charset=utf-8";

$.ajax({
    type: Type, //GET or POST or PUT or DELETE verb
    url: Url,   // Location of the service
    data: Data, //Data sent to server
    contentType: ContentType, // content type sent to server
    processdata: true,
    success: function (result) {
        $("#myForm").remove();
    },
    error: function (result) {
        alert(result);
    }
});
});

IService:

[ServiceContract]
public interface IService
{
[OperationContract]
[WebInvoke(Method = "POST")]
void GetUser(Client client);
}
[DataContract]
public class Client
{
[DataMember(Name = "Name")]
public string Name { get; set; }
[DataMember(Name = "Phone")]
public string Phone { get; set; }
[DataMember(Name = "Email")]
public string Email { get; set; }
[DataMember(Name = "Message")]
public string Message { get; set; }
}

Service.cs:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service : IService
{
public void GetUser(Client client) { }   
}

【问题讨论】:

    标签: c# ajax wcf http-post


    【解决方案1】:

    你好尝试发送这样的值

    var input = {"client": {
                    "Name": $("#Name").val(),
                    "Phone": $("#Phone").val(),
                    "Email": $("#Email").val(),
                    "Message": $("#Message").val()
                }};
      data: JSON.stringify(input),
    

    通过您的代码数据不会发送到服务。

    【讨论】:

    • 你好,stringify 是做什么的?
    • 它将 JavaScript 值或 javascript 对象转换为 JSON 字符串。
    【解决方案2】:

    解决了!

    我发送的是 JSON 数组而不是 JSON 对象! 我找到了一个非常好的工具,它接受表单输入并创建一个对象,它称为 jquery.serialize-object。您可以使用以下方式安装它: bower 安装 jQuery 序列化对象

    希望对大家有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-10
      相关资源
      最近更新 更多