我有一个名为admin.js的js文件,它具有knockout js功能。
return [route_all] + [recursive_call_here]
我试图像这样调用此页面中的函数。
function AppViewModel() {
var self = this;
self.alldata = ko.observableArray();
self.viewAllInvoice = function() {
$.ajax({
type: 'POST',
url: BASEURL + 'index.php/main/learn_Ko/',
contentType: 'application/json; charset=utf-8'
})
.done(function(invoices) {
alert("hello");
self.alldata.removeAll();
$.each(invoices, function(index, invoice) {
self.alldata.push(invoice);
});
})
.fail(function(xhr, status, error) {
alert(status);
})
.always(function(data) {});
};
self.viewAllInvoice();
}
$(document).ready(function() {
ko.applyBindings(new AppViewModel(), document.getElementById('loanersclub_wrapper'));
});
问题是,我从控制器获取此数据,因为我使用的是php,我检查控制器确实获取了数据信息,但是js文件没有得到任何东西,我甚至尝试使用alert,但似乎函数self.viewAllInvoice根本没有被调用。
答案 0 :(得分:0)
您需要将BASEURL的值设置为您网站的基本网址,或者在您的ajax调用中使用相对路径:
$.ajax({
type: 'POST',
url: '/index.php/main/learn_Ko/',
contentType: 'application/json; charset=utf-8'
})