前篇介绍了通过primary key来查询记录,那query的知识点里面还有很多需要学习的,这个有待后面挖掘,本篇来简单介绍下用web api的创建记录。
直接上代码,这里的entity的属性我列了几个比较典型的,和原来相比有区别的是选项集、货币以及lookup字段,其中lookup字段赋值变化最大,new_testid即lookup的字段名,@后面的是标准写法,关联的实体名为new_test,括号里面即关联实体的guid
var entity = {}; entity["name"] = '123';//文本 entity["new_gender"] = 100000000;//选项集 entity["new_birth"] = new Date();//日期 entity["new_testid@odata.bind"] = "/new_tests(89286A7F-83EB-E511-9414-ADA183AB6249)";//lookup entity["new_bool"] = true;//bool entity["revenue"] = 100;//货币 var jsonEntity = window.JSON.stringify(entity); $.ajax({ async: false, type: "POST", contentType: "application/json; charset=utf-8", datatype: "json", url: Xrm.Page.context.getClientUrl() + "/api/data/v8.0/accounts", data: jsonEntity, success: function (data, textStatus, XmlHttpRequest) { if (XmlHttpRequest.status=='204') { alert("创建成功" + XmlHttpRequest.getResponseHeader("OData-EntityId")); } }, error: function (XmlHttpRequest, textStatus, errorThrown) { } });
成功后返回值和原来也有所不同,下图是sdk中response的说明,结合比对我上面的代码,data是空的无返回数据,textStatus即No Content,创建的记录id在头部信息中
下图是alert的结果
表单上各数据类型对应的数据