Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF-表单过帐不与模型绑定_C#_Ajax_Wcf_Http Post - Fatal编程技术网

C# WCF-表单过帐不与模型绑定

C# WCF-表单过帐不与模型绑定,c#,ajax,wcf,http-post,C#,Ajax,Wcf,Http Post,我有一个表单,我想使用AJAX和WCF提交,问题是我的模型(“客户机”)没有得到填充。 当我提交表单时,它会到达服务,但“Client”的所有字段都为空。 我错过了什么 $("#myForm").on("submit", function (e) { var Type = "POST"; var Url = "Service.svc/GetUser"; var Data = JSON.stringify($(this).serializeArray()); var ContentType = "

我有一个表单,我想使用AJAX和WCF提交,问题是我的模型(“客户机”)没有得到填充。 当我提交表单时,它会到达服务,但“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);
    }
});
});
iSeries设备:

[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; }
}
服务中心:

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

解决了

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


我希望它能帮助你们

解决了

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


我希望它能帮助你们

您好,请尝试发送如下值

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

根据您的代码,数据不会发送到服务。

您好,请尝试发送这样的值

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

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

Hello,stringify做什么?它将JavaScript值或JavaScript对象转换为JSON字符串。Hello,stringify做什么?它将JavaScript值或JavaScript对象转换为JSON字符串。