前篇介绍了通过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["[email protected]"] = "/new_tests(89286A7F-83EB-E511-9414-ADA183AB6249)";//lookupentity["new_bool"] = true;//boolentity["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的结果
表单上各数据类型对应的数据