ajs*_*sie 1 javascript ajax jquery solr
我按照ajax solr教程,在第一步我编写了这段代码.
header.php文件:
<script type="text/javascript" src="static/js/ajax-solr/core/Core.js"></script>
<script type="text/javascript" src="static/js/ajax-solr/core/AbstractManager.js"></script>
<script type="text/javascript" src="static/js/ajax-solr/managers/Manager.jquery.js"></script>
<script type="text/javascript" src="static/js/ajax-solr/core/Parameter.js"></script>
<script type="text/javascript" src="static/js/ajax-solr/core/ParameterStore.js"></script>
<script type="text/javascript" src="static/js/reuters.js"></script>
Run Code Online (Sandbox Code Playgroud)
reuters.js:
var Manager;
(function ($) {
$(function () {
Manager = new AjaxSolr.Manager({
solrUrl: 'http://localhost/solr/select'
});
Manager.init();
});
})(jQuery);
// build query
Manager.store.addByValue('q', '*:*');
// do request
Manager.doRequest();
Run Code Online (Sandbox Code Playgroud)
但当我运行它时,firebug说Manager.store.addByValue('q',' : '); 没有定义.
怎么会?我已正确添加所有库.
我想你的脚本应该更像这样.
在您的情况下,最后一个语句不在"就绪"函数之外,因此可能在AjaxSolr库完成加载之前运行.
var Manager;
(function ($) {
$(function () {
Manager = new AjaxSolr.Manager({
solrUrl: 'http://example.solrstuff.org/solrjs/select'
});
Manager.init();
//moved the next two calls inside the initialization block
Manager.store.addByValue('q', '*:*');
Manager.doRequest();
});
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
要回答评论中的问题(与实际问题无关,所以如果您自己了解代码,请跳过)
内在的$(function (){...});只是一个简写$(document).ready(function (){...});.
outer-one:使用参数(function($){ })(jQuery);定义一个匿名的未命名函数function($){ },并立即调用传入jQuery对象的函数作为参数.所以里面$是jQuery对象.我猜他们用这个语法AjaxSolr框架是不可知的,当你使用一些其他的框架,你只需更换(...)(jQuery)与(...)(otherFrameworkObjectInstance)
所以(几乎)只是以下的一个发烧友版本
var Manager
var myFunction = function ($) {
$(function () {
Manager = new AjaxSolr.Manager({
solrUrl: 'http://example.solrstuff.org/solrjs/select'
});
Manager.init();
Manager.store.addByValue('q', '*:*');
Manager.doRequest();
});
};
myFunction(jQuery);
Run Code Online (Sandbox Code Playgroud)
但这会给你留下一个无用的变量myFunction,它指的是你只运行一次的函数.这种风格也类似于jQuery插件最佳实践的样子
| 归档时间: |
|
| 查看次数: |
2379 次 |
| 最近记录: |