gpt4 book ai didi

javascript - 未捕获的类型错误 : Cannot read property 'fromJSON' of undefined

转载 作者:行者123 更新时间:2023-11-28 18:08:05 25 4
gpt4 key购买 nike

我试图在 ajax 调用从以下页面返回后显示菜单数据:

<head>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css">

<script type='text/javascript' src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js"></script>
<script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
<!-- <script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/js/bootstrap.min.js'></script>
<script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.js'></script> -->
</head>


<body>

<h1>page loaded</h1>

<div data-bind="foreach: menu">
<!-- ko foreach: items -->
<span data-bind="$data.name"></span>
<!-- /ko -->
</div>
</body>




<script>

function OrderPageViewModel() {
var self = this;

// self.menu_loaded_success_callback = function(data) {
// var retrieved_menu = data["menu"];
// self.menu = ko.observable(retrieved_menu);
// console.log(retrieved_menu)
// alert(data);
// }
//
// self.get_data(menu_url).done(self.menu_loaded_success_callback);

}

var menu_url = "menu/get-menu";

get_menu_data = function(url_ending){
console.log("running get_data");
var URL = "/api/&/".replace("&", url_ending);
console.log("URL: ", URL);
return $.ajax({
dataType: "json",
url: URL,
// type: "GET",
});
}

get_menu_data(menu_url).done(function(data){
var vm = new OrderPageViewModel();
console.log(data);
vm = ko.mapping.fromJSON(data);
ko.applyBindings(vm);
}).fail(function(){
alert("failed");
});

// ko.applyBindings(new OrderPageViewModel());

</script>

enter image description here

我按照 wait for ajax result to bind knockout model 中的示例进行操作它说未捕获类型错误:无法读取未定义的属性“fromJSON”

最佳答案

fromJSON 方法是 Knockout mapping plugin 的一部分它不包含在代码 Knockout 库中。

您必须单独包含映射插件,因此在包含 Knockout 后添加以下行:

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min.js" type='text/javascript'></script>

关于javascript - 未捕获的类型错误 : Cannot read property 'fromJSON' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191527/

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