我尝试使用JayData基于以下教程。我用JaySVCUtil创建了我的JS文件,上下文如下:
$data.EntityContext.extend('MyCtx.MyContext', {
'DataTable1': { type: $data.EntitySet, elementType:MyCtx.DataTable1}
});
我有以下脚本:
<script src="Scripts/datajs-1.0.3.js"></script>
<script src="Scripts/jquery-1.8.0.js"></script>
<script src="Scripts/jaydata.js"></script>
<script src="Scripts/jaydata-vsdoc.js"></script>
<script src="Scripts/jaydataproviders/oDataProvider.js"></script>
<script src="Scripts/MyCtx.js"></script>
我试着在我的网页中使用它:
function db () {
alert("test1");
var mongo = new MyCtx.MyContext({ name: 'oData', oDataServiceHost: 'http://xxxxxx.azurewebsites.net/MongoDataService.svc' });
alert("test2");
}
显示第一个警报,然后我得到以下错误:
ReferenceError: MyCtx is not defined
如果我修改为
new MyContext(...)
则错误如下:
ReferenceError: MyContext is not defined
我该怎么办?
似乎JS文件是异步加载的所以当它被引用时,包含上下文类的JS文件还没有被加载(加载应该考虑引用,虽然)。
在加载的<script>
行进行几次交换后,问题得到了解决。