Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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/4/json/13.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
WCF jQuery post数据不存在';行不通_Jquery_Json_Wcf_Rest_Cross Domain - Fatal编程技术网

WCF jQuery post数据不存在';行不通

WCF jQuery post数据不存在';行不通,jquery,json,wcf,rest,cross-domain,Jquery,Json,Wcf,Rest,Cross Domain,我在使用WCF服务时遇到了一些问题:该服务应该与运行在其他服务器上的AJAX客户端通信。所以,我有一个跨域问题。我搜索和工作了2天,但我没有找到一些解决方案,这很容易理解 当我使用Fiddler时,它们可以与服务器通信,但只有在将content length属性设置为零时 GET方法也可以工作,但从不使用PUTs 以下是一些方向代码: 服务器方法: 型号: 服务器接口和实现: 最后是客户 有人能告诉我,我能做些什么,让它发挥作用: 简而言之,当我使用jQuery方法时,目前我没有与服务器的连接。

我在使用WCF服务时遇到了一些问题:该服务应该与运行在其他服务器上的AJAX客户端通信。所以,我有一个跨域问题。我搜索和工作了2天,但我没有找到一些解决方案,这很容易理解

当我使用Fiddler时,它们可以与服务器通信,但只有在将content length属性设置为零时

GET方法也可以工作,但从不使用PUTs

以下是一些方向代码:

服务器方法: 型号: 服务器接口和实现: 最后是客户 有人能告诉我,我能做些什么,让它发挥作用:
简而言之,当我使用jQuery方法时,目前我没有与服务器的连接。

首先,您应该使用一个对象:

var myObject ={};
myObject.Id = '';
myObject.Name ='';
并使用
JSON.stringify(myObject)

您可能希望从ajax调用中删除此选项:
数据类型:“jsonp”,
您也可能希望检查此问题中的问题


Fehler Post:Status 200 AntwortText Unfinedi take.NET 4.5,你知道我如何在可视化研究调试中启用CORS吗?你是男人,现在我可以在服务器上访问我的方法了。但是我怎样才能访问我的Person对象呢?客户端在一分钟内通过DataFloradu88发送了它。你能说我怎样才能访问ServerMethod中的对象/数据吗?数据类型仍然有jsonp,但这是正确的吗?我认为对服务器的访问在IE中仍然有效,而不是在chrome中。但我先查一下你的小费
   [ServiceContract]
   interface IPersonService
   {
       ...

       [OperationContract]
       Person InsertPerson(Person person);
   }

 [AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
 public class PersonService : IPersonService
 {

     [WebInvoke(UriTemplate = "/POST/PersonPost", Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
    public Person InsertPerson(Person per)
    {
        Debug.WriteLine("InsertPerson");
        if (per == null)
        {
            return new Person("2", "null");
        }
        Debug.WriteLine("POST:[PersonId = {0} PersonName = {1}]", per.Id, per.Name);
         return new Person("1", "InsertPerson");
    }
var person = '{"per":{';
                person = person + '"id":"' + '"abc123"' + '",'
                person = person + '"name":"' + '"john"' + '"'
                person = person + '}}';

                alert(person);
                $.support.cors = true;

                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataType: "jsonp",
                    data: person,
                    processData: false,
                    crossDomain: true,
                    url: "http://localhost:59291/Person/POST/PersonPost",
                    success: function (data) {
                        alert("Post erfolgreich: ");

                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        alert("Fehler Post: Status " + xhr.status + " AntwortText " + xhr.responseText);
                    }
                });
var myObject ={};
myObject.Id = '';
myObject.Name ='';
    var person = {};
person.id ="abc123";
person.name ="aaaa";
var per = {};
per.per = person;

                $.support.cors = true;

                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    data: JSON.stringify(per),
                    dataType: "jsonp",
                    processData: false,
                    crossDomain: true,
                    url: "http://localhost:59291/Person/POST/PersonPost",
                    success: function (data) {
                        alert("Post erfolgreich: ");

                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        alert("Fehler Post: Status " + xhr.status + " AntwortText " + xhr.responseText);
                    }
                });