小编ope*_*sas的帖子

如何使用jQuery等待来自回调的异步调用?

我正在使用基于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)

javascript ajax jquery asynchronous

2
推荐指数
1
解决办法
8535
查看次数

play framework 2:h2在内存数据库mysql兼容模式下:转义字符

我正在开发模式下使用内存数据库中的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的限制?

mysql h2 playframework playframework-2.0

2
推荐指数
1
解决办法
3393
查看次数

scala:将对象包装在另一个对象中的更简单方法

在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)

inheritance scala playframework-2.0 playframework-2.1

2
推荐指数
1
解决办法
735
查看次数

获取有关Crystal中继承链的信息

出于好奇心并且稍微了解了Crystal的一般结构,我一直在寻找一些反射功能,这些功能可以让我更好地理解继承链是如何构建的.

我在想像ruby的超类,祖先included_modules方法.

Crystal语言中是否有这样的东西?

此外,有一些图表可以向我展示大局是有用的.

ruby reflection inheritance metaprogramming crystal-lang

2
推荐指数
1
解决办法
184
查看次数

无法在dotnet核心2.1中注册登录

我创建了一个新的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)

- …

c# asp.net logging .net-core

2
推荐指数
1
解决办法
2335
查看次数

git:"隐藏"更改以从远程仓库继续工作的最佳方式

据我所知,藏匿处是本地的,并不打算被推到远程回购.

有时我的工作还没有准备好,但是我必须以某种方式与其他工作人员分享,或者我自己从不同的工作站访问.

使用git模拟某种"远程存储"或使用git进行像我刚刚描述的工作流程的最佳方法是什么?

git git-stash git-pull git-push git-remote

2
推荐指数
1
解决办法
675
查看次数

试图避免scala中的mutable ..这是正确的方法吗?

我试图尽可能地避免变量变量,但有时它感觉太难了,我不想以极其复杂的代码结束

不过我找到了这种方式,但它确实感觉像作弊

我正在解析一个查询,我发现找到一个字段!值,我想把它翻译成字段:<>值,然后继续处理,所以我出来了这段代码以避免变异,或者至少有他们被限制......

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)

这是正确的方法吗?或者是否有更惯用(和清晰!)的方式来实现这种事情?

variables scala immutability

1
推荐指数
1
解决办法
1695
查看次数

angular.js:相当于domReady

警告: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)

但无法使其工作(并且找不到太多文档......)

domready angularjs

1
推荐指数
1
解决办法
6375
查看次数

重新渲染Backbone视图而不会丢失对dom的引用

我对骨干有以下问题,我想知道什么策略更合适

我有一个选择控件,实现为Backbone视图,最初加载一个选项说"加载选项".所以我加载一个只有一个元素的数组,然后渲染视图.

选项将从集合中加载,因此我将触发一个fetch集合.

然后我初始化一个负责显示每个字段的行错误的组件.所以我保存了组合的dom元素的引用.

当获取操作最终准备就绪时,我使用从集合中加载的所有选项重新呈现控件.

为了呈现视图我使用这样的东西:

render: function() {
  this.$el.html(this.template(this.model.attributes));
  return this;
}
Run Code Online (Sandbox Code Playgroud)

相当标准的骨干东西

问题是,在第二次渲染视图后,dom的引用不再有效,

也许这种情况有点奇怪,但我可以想到很多情况下我必须重新渲染视图而不会丢失他们的doms引用(例如,依赖于另一个组合的组合)

所以我想知道重新渲染视图的最佳方法是什么,而不会丢失视图中所有对dom元素的引用...

rendering view backbone.js

1
推荐指数
1
解决办法
2240
查看次数

无法在dotnetcore 2.1.105上安装dotnet观察工具

我从这里在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)

nuget-package-restore file-watcher .net-core

1
推荐指数
1
解决办法
1640
查看次数