“问题”;方法“;在jquery/javascript模块结构中
我在javascript中使用“模块”模式时遇到问题。在我试图调用模块的“方法”或“私有函数”的那一行,我得到了一个语法错误。 似乎我的“私有函数”在“问题”;方法“;在jquery/javascript模块结构中,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在javascript中使用“模块”模式时遇到问题。在我试图调用模块的“方法”或“私有函数”的那一行,我得到了一个语法错误。 似乎我的“私有函数”在ajax-函数中是未知的。我只知道在ajax-函数中调用其他函数(例如其他模块)通常没有问题 我已经尝试了SearchContainer.\u output(),但是出现了错误“Object不支持属性或方法'\u output'” 那么,如何在这个javascript模块的ajax-函数中调用我的“private function”\u outpu
ajax
-函数中是未知的。我只知道在ajax
-函数中调用其他函数(例如其他模块)通常没有问题
我已经尝试了SearchContainer.\u output()
,但是出现了错误“Object不支持属性或方法'\u output'”
那么,如何在这个javascript模块的ajax
-函数中调用我的“private function”\u output()
我的代码:
var SearchContainer = (function(){
var _php_interface = "interface.php";
var init = function(){
_callInterface("init");
};
var _callInterface = function(mode, params){
$.ajax({
url: _php_interface,
type: "POST",
data: {
mode: mode,
params: params
},
dataType: "html",
beforeSend: function(){
},
success: function( result ) {
_output( $.parseJSON( result ) );
},
complete: function(){
}
});
};
var _output = function (obj){
....
};
return{
init: init
};
})();
谢谢大家! 您可以尝试用此声明。_output=函数。。。然后用这个调用。_output();可能是因为它在一个匿名函数中。。。对我来说,这将是有趣的,为什么你在匿名函数中这样做谢谢,但你的建议让我得到了一个“预期标识符”-错误。你所说的匿名函数是指哪个函数<代码>\u callInterface例如,它不是匿名函数,我只是遵循模块设计模式。或者你在谈论ajax功能?我觉得你的代码很好。语法错误不是运行时错误,也许您只是忘记了某个括号或冒号?@Halcyon您是对的-这与我的
\u输出
函数无关,问题似乎是由$.parseJSON()
函数/代码引起的。我现在还在调试。是的,是$.parseJSON()
给了我语法错误,因为我的JSON
无效。但是,你仅仅得到了一个通用的语法错误,这不是很奇怪吗?除了自己回答之外,我现在如何处理我的问题?