我正在考虑从Chosen转到Select2,因为Select2具有ajax的本机方法.Ajax很关键,因为通常你必须加载大量数据.
我用api.rottentomatoes.com/api/的JSON成功执行了这个例子
我做了一个JSON文件来测试ajax,但它没有用.
我不知道JSON应该如何.似乎没有详细的文件:
https://github.com/ivaynberg/select2/issues/920
我尝试了几种JSON格式,因此我尝试复制类似于api.rottentomatoes的JSON格式,但它不起作用.
我可能会错过一些愚蠢的东西.
function MultiAjaxAutoComplete(element, url) {
$(element).select2({
placeholder: "Search for a movie",
minimumInputLength: 1,
multiple: true,
ajax: {
url: url,
dataType: 'jsonp',
data: function(term, page) {
return {
q: term,
page_limit: 10,
apikey: "z4vbb4bjmgsb7dy33kvux3ea" //my own apikey
};
},
results: function(data, page) {
return {
results: data.movies
};
}
},
formatResult: formatResult,
formatSelection: formatSelection,
/*initSelection: function(element, callback) {
var data = [];
$(element.val().split(",")).each(function(i) {
var item = this.split(':');
data.push({
id: item[0],
title: item[1]
});
}); …Run Code Online (Sandbox Code Playgroud) javascript jquery twitter-bootstrap jquery-chosen jquery-select2
如果有人在nsf中使用javascript原型,如何清理Domino服务器中的SSJS(服务器端Javascript)?
马克·罗登发现了XPage SSJS的一个巨大弱点 :(感谢David Leedy告诉我这件事并向我展示这篇文章).
如果您有以下SSJS代码:
var dummyObj = {}
dummyObj.prototype.NAME = "Johann"
Run Code Online (Sandbox Code Playgroud)
XPages SSJS并不关心你使用var(var表示变量必须是本地的),它使dummyObj.NAME在整个服务器中可见,其值为Johann.因此,如果同一服务器中的另一个nsf使用具有相同名称的var,则它将继承整个原型:
var dummyObj = {}
println(dummyObj.NAME) /*prints "Johann" */
Run Code Online (Sandbox Code Playgroud)
这是一个巨大的错误(一个使得不可靠的XPage SSJS IMO).即使你根本不使用原型,如果他的应用程序中的其他人做了类似这样的事情:
String.prototype.split = function(){ return "I broke this method" }
Run Code Online (Sandbox Code Playgroud)
它将破坏使用无辜split()的同一服务器中的所有应用程序.
所以,问题是:如果有人"错误地"在NSF中写下以下SSJS(XPages服务器端Javascript):
String.prototype.split = function(){ return "I broke this method" }
Run Code Online (Sandbox Code Playgroud)
如何将String.prototype.split()修复为原始值?
正如Mark Roden所说,重启HTTP任务并不能解决问题.
////////////////////////////////////////////////// /////////
编辑1:为什么我认为这是一个巨大的错误:
我是Javascript粉丝但IMHO @MarkyRoden在SSJS中发现了一个巨大的错误.垫片和填充物实际上不是主要问题.Eval被认为是一种不好的做法,但原型对象是基本Javascript的基本元素.这是向Javascript类添加方法的标准和首选方法,它还需要继承和各种OOP内容.因此,您需要在服务器级别使用某种命名空间以避免冲突.所有这些都非常糟糕,但最大的问题是,一个应用程序中的一行代码可能会破坏服务器中的所有应用程序.是的,您可以信任您的开发人员,但其中一人可能会错误地编写错误的行,并且Domino服务器也可以拥有来自不同软件供应商的数百个应用程序.在代码审查中设置责任不是一个可靠的程序.也许是时候在SSJS中拥有一个真正的javascript引擎,比如V8,Spidermonkey,Chakra或Rhino.作为一种解决方法,我正在思考Tommy Valand 在SSJS中与Rhino的想法.
编辑2:情况更糟.你可以这样做:
prototype.importPackage = null
Run Code Online (Sandbox Code Playgroud)
要么
prototype.Array = null
Run Code Online (Sandbox Code Playgroud)
正如你在@SvenHasselbach的文章中看到的那样:http …
我想编写一个JavaScript函数来清理用户输入并删除所有不需要的危险字符。
它必须只允许以下字符:
我的第一次尝试是:
function sanitizeString(str){
str = str.replace(/[^a-z0-9áéíóúñü_-\s\.,]/gim,"");
return str.trim();
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做了:
sanitizeString("word1\nword2")
Run Code Online (Sandbox Code Playgroud)
它返回:
"word1
word2"
Run Code Online (Sandbox Code Playgroud)
因此,我不得不重写该函数以明确删除\ t \ n \ f \ r \ v \ 0:
function sanitizeString(str){
str = str.replace(/([^a-z0-9áéíóúñü_-\s\.,]|[\t\n\f\r\v\0])/gim,"");
return str.trim();
}
Run Code Online (Sandbox Code Playgroud)
我想知道:
在XPages中"使用运行时优化的javascript和css资源"是一个非常酷的功能,因为它只在一个文件中加入所有js文件,并且只在一个css文件中加入所有css文件.
但是我注意到连接的文件没有被缓存(它们总是返回状态200),当你不使用"使用运行时优化的javascript和css资源"时它们会这样做(并返回状态304).
减少http请求是好的,但是当它们可以通过ETag或Last-Modified http头缓存时,总是从服务器检索js和css文件.当你使用"使用运行时优化的javascript和css资源"功能(应用程序属性> XPages选项卡>性能部分>使用运行时优化的javascript和css资源)时,任何人都知道我是否遗漏了某些内容或是否有办法缓存已加入的文件.
我正在考虑用Ractive.js替换Handlebars.js.变化似乎很顺利,但这是我的第一个问题,可能是一个新手问题.
我有一个Ractive.js模板,其中包含一个表.模板中的表有几个Bootstrap类
class="table table-striped table-bordered table-condensed table-hover"
Run Code Online (Sandbox Code Playgroud)
当我在Handlebars.js中使用这个模板时,表中的Bootstrap样式显示正常,正如你在这个jsfiddle中看到的那样.
但是当我使用与Ractive.js相同的模板时,样式没有显示,正如你在这个jsfiddle中看到的那样.
我尝试手动添加类:
$("#table").addClass("table")
$("#table").addClass("table-striped table-bordered")
$("#table").addClass("table-condensed table-hover")
Run Code Online (Sandbox Code Playgroud)
没有成功.我必须错过一些非常简单的事情.
javascript jquery handlebars.js twitter-bootstrap-3 ractivejs
在XPages中,我们在服务器端编写Javascript.我们使用"相同"的客户端语言.但是在客户端,我们可以使用很多很酷的库,比如jQuery,Dojo和Underscore.
我使用过服务器端自定义函数,比如每种方法:
Object.prototype.each = function (callback) {
for (var x in this) {
if (this.hasOwnProperty(x)) {
callback.call(this, this[x]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是这些客户端库已经提供了这样的帮助,还有更多.如果我尝试在服务器端XPage中使用这些库,则会因以下几个原因而失败:
任何人都有这样的服务器端库?也许前端Node.js开发人员已经解决了这个问题.
任何人都使用如下方法:
我想知道如何通过Domino Data Service REST API 对Lotus Domino 8.5.3中的用户进行身份验证.
我可以在文档中看到"Request header for authorization",它说:
授权可能需要其他标头,具体取决于Domino服务器强加的安全性.
我还没有找到有关"其他标题"的信息.有谁知道如何验证?我们应该创建一个cookie并在每个请求头中发送它吗?
xpages ×5
javascript ×3
jquery ×3
lotus-domino ×3
api ×1
caching ×1
dojo ×1
http-headers ×1
lotus-notes ×1
node.js ×1
optimization ×1
prototype ×1
ractivejs ×1
regex ×1
rest ×1
sanitization ×1
string ×1
xpages-ssjs ×1