我有一个工作的OData端点,我可以查看各个数据点。 (例如,localhost / myData / person(10)具有第10个人的数据。)
然而,我的JayData javascript中的对象值没有被填充。 当我打印时:
的console.log(人[10]);
initData中的每个object参数都是未定义的。
我的完整脚本是:
var ctx = new WebApplication.resource_dbEntities({ name: 'oData', oDataServiceHost: 'http://localhost:8080/Resource/example.svc' });
ctx.onReady(function() {
ctx.person.toArray().then(function(person){
console.log("Person[10] is:");
console.log(person[10]);
person.forEach(function(p) {
//Always prints "undefined" :(
console.log(p.person_lastname);
});
})
.fail(function(r){
console.log(r);
});
});
更新
服务器绝对是发送数据 - 请参阅网页上网络面板中的剪辑。
注意:我已在JayData forum上发布了其他详细信息。
答案 0 :(得分:1)
您不需要initData。首先查看浏览器的网络面板,看看您的服务器是否发送了任何数据。
答案 1 :(得分:1)
我想出了这个问题。 Eclipse从mySQL自动生成实体并将其链接到persistence.xml。 person.java中的变量(即使它们是私有的?!)与initData变量不匹配。
一旦我打开person.java并更改了
@Column(name="project_id") private int projectId;
@Column(name="project_budget")
private int projectBudget;
@Column(name="project_client")
private String projectClient;
@Temporal(TemporalType.DATE)
@Column(name="project_enddate")
private Date projectEnddate;
@Column(name="project_ffm")
private int projectFfm;
@Column(name="project_manager")
private int projectManager;
@Column(name="project_name")
private String projectName;
@Column(name="project_number")
private String projectNumber;
@Temporal(TemporalType.DATE)
@Column(name="project_startdate")
private Date projectStartdate;
@Column(name="project_status")
private int projectStatus;
对此:
@Id
@Column(name="project_id")
private int project_id;
@Column(name="project_budget")
private int project_budget;
@Column(name="project_client")
private String project_client;
@Temporal(TemporalType.DATE)
@Column(name="project_enddate")
private Date project_enddate;
@Column(name="project_ffm")
private int project_ffm;
@Column(name="project_manager")
private int project_manager;
@Column(name="project_name")
private String project_name;
@Column(name="project_number")
private String project_number;
@Temporal(TemporalType.DATE)
@Column(name="project_startdate")
private Date project_startdate;
@Column(name="project_status")
private int project_status;
一切顺利。谢谢大家的帮助。