ajax调用wcf的几种方式
Get方式,无参数 $.ajax({ contentType: 'application/json;charset=utf-8', method: "get", type: "get", dataType: "json", url: "SystemUserSvr.svc/Retrieve", success: function (result) { $.each(result.d, function (n, value) { $('#ajaxResult').append(value.UserName + " " + n); } ); } }); }); Post方式,传Json字符串参数 $.ajax({ contentType: 'application/json;charset=utf-8', method: "post", type: "post", data: JSON.stringify({ "LoginId": "R", "UserName": "" }), dataType: "json", url: "SystemUserSvr.svc/RetrieveBy", success: function (result) { $.each(result.d, function (n, value) { $('#ajaxResult').append(value.UserName + " " + n); } ); } }); }); Post方式,传Json对象 $.ajax({ contentType: 'application/json;charset=utf-8', method: "post", type: "post", data: JSON.stringify({ "user": { "LoginId": "R", "UserName": "王" } }), dataType: "json", url: "SystemUserSvr.svc/RetrieveByObj", success: function (result) { $.each(result.d, function (n, value) { $('#ajaxResult').append(value.UserName + " " + n); } ); } }); Post传参最需要注意的就是那个contentType的设置, contentType: 'application/json;charset=utf-8'不能漏掉,否则,传参可能不成功。
另外.net WCF 返回的数据有可能是d对象,所以在解析返回数据的时候,需要特别注意一下,这里的例子直接使用了result.d,从而获得d对象的值。