gpt4 book ai didi

javascript - amplifyjs 未知资源Id

转载 作者:行者123 更新时间:2023-11-28 02:27:23 24 4
gpt4 key购买 nike

我正在尝试在我的 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函数将 View 模型作为第一个参数,将 DOM 元素作为可选的第二个参数。你的 View 模型在哪里?

关于javascript - amplifyjs 未知资源Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14723413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com