我正在使用基于select2 jQuery的替换组合框,我必须定义一个回调来处理从json rest Web服务收到的数据.
问题是,在同一个回调中,我必须发出另一个GET请求来获取匹配记录的总数,以便select2可以决定是否必须加载更多结果(它具有无限滚动功能)
代码是这样的:
$("#country").select2({
ajax: { // instead of writing the function to execute the request we use Select2's convenient helper
url: 'http://localhost:9000/api/countries',
dataType: 'json',
data: function(term, page) {
return {
filter: term,
page: page,
len: 10
};
},
results: function(data, page) {
return {
results: data, more: ????
};
}
}
});
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何发出异步请求(我发出跨域请求,并且文档说在这种情况下不支持async)并等待它返回结果回调之前完成.
select2页面的示例如下:
results: function (data, page) {
var more = (page * 10) < data.total; // whether or not there are more results …Run Code Online (Sandbox Code Playgroud) 我正在开发模式下使用内存数据库中的H2,但我希望它能像mysql数据库一样尽可能地运行(参见http://www.h2database.com/html/features.html#compatibility)
这是我在application.conf文件中的配置:
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play;MODE=MYSQL;DB_CLOSE_DELAY=-1"
Run Code Online (Sandbox Code Playgroud)
测试它我只是运行"播放"并从播放控制台发出"h2-browser"并在url jdbc字段中输入"jdbc:h2:mem:play; MODE = MYSQL; DB_CLOSE_DELAY = -1"
以下语句在mysql中正常工作:
CREATE TABLE `tmp` (
`name` varchar(50) NOT NULL
);
insert into tmp (name) values ('slash: \\, simple quotes \', double quotes \" -');
select * from tmp;
Run Code Online (Sandbox Code Playgroud)
但是在h2控制台中我得到一个错误,我可以逃脱的唯一字符就是单引号,只需在它前面添加另一个单引号.(也尝试输入'SET MODE MySQL;')
有没有办法让h2在play的框架h2-browser中表现得像mysql?还是只是h2的限制?
在Play 2.1应用程序中,我有以下代码(它只是一个请求包装器,它可以删除任何尾部斜杠):
class NormalizedRequest(request: RequestHeader) extends RequestHeader {
val headers = request.headers
val id = request.id
val method = request.method
val queryString = request.queryString
val remoteAddress = request.remoteAddress
val tags = request.tags
val version = request.version
// strip first part of path and uri if it matches http.path config
val path = if (request.path == "/") "/" else request.path.stripSuffix("/")
val uri = path + {
if(request.rawQueryString == "") ""
else "?" + request.rawQueryString
}
}
object NormalizedRequest {
def apply(request: …Run Code Online (Sandbox Code Playgroud) 出于好奇心并且稍微了解了Crystal的一般结构,我一直在寻找一些反射功能,这些功能可以让我更好地理解继承链是如何构建的.
我在想像ruby的超类,祖先或included_modules方法.
Crystal语言中是否有这样的东西?
此外,有一些图表可以向我展示大局是有用的.
我创建了一个新的dotnet核心项目:
dotnet new mvc -au none -o aspnet_app
Run Code Online (Sandbox Code Playgroud)
然后按照本指南添加日志记录到应用程序
所以我将COnfigureLogging添加到Program.BuildWebHost
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostContext, logging) =>
{
logging.AddConfiguration(hostContext.Configuration.GetSection("Logging"));
logging.AddConsole();
})
.UseStartup<Startup>()
.Build();
Run Code Online (Sandbox Code Playgroud)
并且还修改了Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddLogging();
services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)
但是当我在HomeController中尝试使用它时:
private readonly ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger) {
_logger = logger;
}
public IActionResult Index()
{
_logger.LogInformation("Index action!");
return View();
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
An unhandled exception has occurred: Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activate 'aspnet_app.Controllers.HomeController'.
Run Code Online (Sandbox Code Playgroud)
- …
据我所知,藏匿处是本地的,并不打算被推到远程回购.
有时我的工作还没有准备好,但是我必须以某种方式与其他工作人员分享,或者我自己从不同的工作站访问.
使用git模拟某种"远程存储"或使用git进行像我刚刚描述的工作流程的最佳方法是什么?
我试图尽可能地避免变量变量,但有时它感觉太难了,我不想以极其复杂的代码结束
不过我找到了这种方式,但它确实感觉像作弊
我正在解析一个查询,我发现找到一个字段!值,我想把它翻译成字段:<>值,然后继续处理,所以我出来了这段代码以避免变异,或者至少有他们被限制......
val (operator, negated) = {
var operator = ConditionOperator.toConditionOperator(parsedOperator)
var negated = parsedNegated == "!"
// field!value => field notEqual value
if (negated && operator == ConditionOperator.Unknown) {
negated = false
operator = ConditionOperator.NotEqual
}
(operator, negated)
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?或者是否有更惯用(和清晰!)的方式来实现这种事情?
警告:Angular新手提前.
我在angular.js页面中有这个代码
<div class="clearfix" ng-controller="Controller">
<h1>Active Ideas
<button type="button" ng-click="search()">get Ideas</button></h1>
<hr>
Run Code Online (Sandbox Code Playgroud)
然后我将我的控制器定义为:
function Controller($scope, $http) {
$scope.search = function(){...
Run Code Online (Sandbox Code Playgroud)
它工作正常.
我想在dom准备就绪时执行search()函数...
我尝试从$(function(){...调用它但我不知道如何从我的控制器手动执行一个方法
也尝试过
$scope.$on('$viewContentLoaded', function() {
Run Code Online (Sandbox Code Playgroud)
但无法使其工作(并且找不到太多文档......)
我对骨干有以下问题,我想知道什么策略更合适
我有一个选择控件,实现为Backbone视图,最初加载一个选项说"加载选项".所以我加载一个只有一个元素的数组,然后渲染视图.
选项将从集合中加载,因此我将触发一个fetch集合.
然后我初始化一个负责显示每个字段的行错误的组件.所以我保存了组合的dom元素的引用.
当获取操作最终准备就绪时,我使用从集合中加载的所有选项重新呈现控件.
为了呈现视图我使用这样的东西:
render: function() {
this.$el.html(this.template(this.model.attributes));
return this;
}
Run Code Online (Sandbox Code Playgroud)
相当标准的骨干东西
问题是,在第二次渲染视图后,dom的引用不再有效,
也许这种情况有点奇怪,但我可以想到很多情况下我必须重新渲染视图而不会丢失他们的doms引用(例如,依赖于另一个组合的组合)
所以我想知道重新渲染视图的最佳方法是什么,而不会丢失视图中所有对dom元素的引用...
我从这里在ubuntu上安装了.NET Core 2.1.105
并创建了示例web api项目dotnet new api-test
然后我尝试添加dotnet观察程序包
dotnet add package Microsoft.DotNet.Watcher.Tools
Run Code Online (Sandbox Code Playgroud)
当我发出一个时,dotnet restore我收到以下错误:
$ dotnet restore
Restoring packages for ~/devel/apps/dotnet/api_test/api_test.csproj...
Restore completed in 101.8 ms for ~/devel/apps/dotnet/api_test/api_test.csproj.
~/devel/apps/dotnet/api_test/api_test.csproj : error NU1605: Detected package downgrade: Microsoft.NETCore.App from 2.0.6 to 2.0.0. Reference the package directly from the project to select a different version.
~/devel/apps/dotnet/api_test/api_test.csproj : error NU1605: api_test -> Microsoft.DotNet.Watcher.Tools 2.0.1 -> Microsoft.NETCore.App (>= 2.0.6)
~/devel/apps/dotnet/api_test/api_test.csproj : error NU1605: api_test -> Microsoft.NETCore.App (>= 2.0.0)
Restore failed …Run Code Online (Sandbox Code Playgroud) .net-core ×2
inheritance ×2
scala ×2
ajax ×1
angularjs ×1
asp.net ×1
asynchronous ×1
backbone.js ×1
c# ×1
crystal-lang ×1
domready ×1
file-watcher ×1
git ×1
git-pull ×1
git-push ×1
git-remote ×1
git-stash ×1
h2 ×1
immutability ×1
javascript ×1
jquery ×1
logging ×1
mysql ×1
reflection ×1
rendering ×1
ruby ×1
variables ×1
view ×1