amplifyjs未知资源Id
amplifyjs unknown resourceId
我正试图在MVC4应用程序中设置amplifyjs。我只想做一个简单的服务器调用,返回json数据。我在我的单独样本项目中得到了它。
但现在我正在将相同的代码与我的真实应用程序集成。具有以下代码。
//sampleservice.js
amplify.request.define("getSampleData", "ajax", {
url: "/SampleData/GetSampleData",
dataType: "json",
type: "GET"
});
function getSampleData(callbacks) {
return amplify.request({
resourceId: "getSampleData",
success: callbacks.success,
error: callbacks.error
});
};
这就是我试图在Jquery.Ready.中使用它的方式
var list;
$(document).ready(function () {
list = ko.observableArray([]);
ko.applyBindings($('#body'));
getSampleData({
success: function (data) {
$(data).each(function (index, item) {
list.push(item);
});
},
error: function (response) {
alert(response);
}
});
});
我可以看到我的js达到了所有的断点,但我有下面的js异常
Uncaught amplify.request: unknown resourceId: getSampleData amplify.js:477
amplify.request amplify.js:477
getSampleData sampleservice.js:34
(anonymous function) sampleviewmodel.js:9
fire jquery-1.9.0.js:1017
self.fireWith jquery-1.9.0.js:1127
jQuery.extend.ready jquery-1.9.0.js:416
DOMContentLoaded
我知道这是一个非常琐碎的问题,正如你所看到的,我只是Js编程的新手,我已经花了几个小时在这个问题上,但什么都想不出来。如果有人能在这里为我提供指导或至少一些调试技巧,那将是非常有帮助的。
您似乎没有使用闭包,因此您的Amplify定义不可用。您将代码放入一个立即调用的函数表达式(iife)中,如下所示。这将运行您的放大定义代码,并使getSampleData
可用作dataservice
对象的属性。所以你叫dataservice.getSampleData(...)
var dataservice = (function(amplify) {
var init = function() {
amplify.request.define("getSampleData", "ajax", {
url: "/SampleData/GetSampleData",
dataType: "json",
type: "GET"
});
},
getSampleData = function (callbacks) {
return amplify.request({
resourceId: "getSampleData",
success: callbacks.success,
error: callbacks.error
});
};
init();
return {
getSampleData: getSampleData
};
})(amplify);
请注意,您使用的淘汰也是不正确的。ko.applyBindings
函数将视图模型作为第一参数,将DOM元素作为可选的第二参数。你的视图模型在哪里?
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 通过id和class属性获取元素
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 使用当前日期生成随机id
- Javascript-ID冲突的几率
- Href:当前DIV中的目标ID
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- 检查资源的id是否在ng重复中显示的另一个资源的id列表中
- 删除外部事件时获取完整日历上的资源 ID
- YouTube - 将素材资源 ID 与视频 ID 相关联
- 从服务器获取Angular工厂中新建资源的ID
- 如何将当前实体Id传递到我的Silverlight Web资源
- amplifyjs未知资源Id
- 通过删除外部事件来获取资源 ID