【发布时间】:2018-08-14 12:55:57
【问题描述】:
我正在尝试创建一个包含我的应用程序的所有调用的命名空间,但我不知道为什么当我尝试在命名空间内进行 Ajax 调用时,它说 ajax 不是函数
我尝试将 jQuery 设置为依赖项并将其传递给命名空间,但仍然存在问题
这里是js
var FOF = FOF || {};
FOF.Users = {
init: function(userRequest){
var request = userRequest.request || '';
var callbacks = userRequest.callbacks || {};
var userId = userRequest.userId || 0;
var event = userRequest.domainEvent || false;
var dependency = userRequest.dependency || false;
console.log(userRequest.dependency);
console.log(userRequest);
switch(request) {
case 'getUser':{
FOF.Users.getUserData(callbacks,dependency);
break;
}
default:{
console.log('Param Request Empty or not valid');
}
}
},
getUserData : function(callbacks,dependency){
dependency.ajax({
url: "Mocks/users.json",
data: {},
dataType: "json",
method: 'get',
success: function (data) {
if (!isObjectEmpty(callbacks)) {
callbacks.run(data);
}
if(event){
document.dispatchEvent(new CustomEvent(event, {detail: {data}}));
}
},
error : function (data) {
if (!isObjectEmpty(callbacks)) {
callbacks.errors(data);
}
if(event){
document.dispatchEvent(new CustomEvent(event, {detail: {data}}));
}
},
cache: false,
});
/*
var xhr = new XMLHttpRequest();
xhr.open('GET', encodeURI('Mocks/users.json'));
xhr.onload = function() {
if (xhr.status === 200) {
console.log('Request Done', xhr);
}
else {
console.log('Request Failed');
}
};
xhr.send();
*/
}
}
$(document).ready(function($){
var userRequest = {
dependency : jQuery,
request: 'getUser',
userId : 1,
callbacks :getUserCallbacks,
domainEvent: 'getUser'
}
var getUserCallbacks = {
run: function(data){
console.log(data);
},
errors: function(data) {
console.log(data);
},
serverError : function(data){
console.log('La Culpa es de Api, preguntar a Pedro');
},
}
FOF.Users.init(userRequest);
});
function isObjectEmpty(obj) {
return Object.keys(obj).length === 0;
}
还有一个Plunker https://plnkr.co/edit/1fPelOGyMiroOWWXMXXU?p=preview
我希望我的英语足够好,如果您有任何问题,请问我 谢谢!
【问题讨论】:
标签: javascript jquery ajax namespaces javascript-namespaces