小编Jas*_*son的帖子

Access-Control-Allow-Origin不允许使用$ http.get,但$ .ajax是

我从我控制的远程服务器获取json时遇到问题.我有2个Web应用程序,一个服务数据并在端口3311上运行,另一个请求数据,正在端口5000上运行.

使用jquery以下工作:

$.ajax({
  url: "http://localhost:3311/get-data",
  type: 'GET',
  dataType: 'json',
  beforeSend: function(xhr) {
    xhr.setRequestHeader("x-some-header", "some-value");
  }
})
.done(function(data) { 
    $rootScope.$apply(function() {d.resolve(data); });
})
.fail(function(data) {
    $rootScope.$apply(function() {d.reject(data); });
});
Run Code Online (Sandbox Code Playgroud)

当使用angular尝试相同的get请求时

$http
    .get("http://localhost:3311/get-data", { headers: {"x-some-header": "some-value"} })
    .success(function(data) { d.resolve(data);})
    .error(function(data) { d.reject(data); });
Run Code Online (Sandbox Code Playgroud)

我收到错误

Origin http://localhost:5000 is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

控制台日志显示OPTIONS请求返回HTTP200后发生的错误

OPTIONS http://localhost:3311//get-data 200 (OK) angular.min.js:99

(anonymous function) angular.min.js:99

l angular.min.js:95

m angular.min.js:94

(anonymous function) app.js:78

b.extend.each jquery-1.9.1.min.js:3

b.fn.b.each jquery-1.9.1.min.js:3

(anonymous function) app.js:76

d angular.min.js:28

instantiate angular.min.js:28

(anonymous function) …
Run Code Online (Sandbox Code Playgroud)

ajax cors angularjs

44
推荐指数
1
解决办法
9万
查看次数

指令回调和范围

我试图在angularjs中围绕范围,尤其是在使用指令的模块上调用回调时.我找到了3种不同的方法来完成同样的事情,我试图了解每种方法的优缺点.

鉴于此plnkr

什么时候直接在父母身上使用&,=或调用函数?

我更喜欢使用'='符号绑定,因为指令和托管指令的模块中需要的代码较少,但根据文档(了解Transclusion和Scopes),似乎使用the绑定回调&是首选方法,为什么?

javascript angularjs angularjs-directive angularjs-scope

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

导航器警报功能第二次工作

单击时我有一个按钮我执行此功能:

$scope.sendPolicy = function(){
    // make server request and called this call back:
    navigator.notification.alert(
        "message",
        function(){
            $state.transitionTo('main', {
                Id: $scope.Id
                });
        },
        'title',
        'confirm');
Run Code Online (Sandbox Code Playgroud)

弹出警报确定,但单击确认按钮时,警报会消失,就是这样.没有其他事情发生(应该触发向主屏幕的过渡.)在警报被解除后,如果再次点击导致警报弹出的按钮,视图/页面传输正在被触发,我们回到主要页面,以及警报再次弹出.

问题是:

  1. 为什么确认按钮不会触发回弹/转移到主屏幕.
  2. 为什么另一个按钮会导致弹出/转移?
  3. 为什么这个额外的点击会再次触发警报?

jquery angularjs cordova

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

PostgreSQL jsonb,`?`和JDBC

我正在使用PostgreSQL 9.4和令人敬畏的JSONB字段类型.我试图查询文档中的字段.以下适用于psql CLI

SELECT id FROM program WHERE document -> 'dept' ? 'CS'
Run Code Online (Sandbox Code Playgroud)

当我尝试通过我的Scala应用程序运行相同的查询时,我收到以下错误.我正在使用Play框架和Anorm,所以查询看起来像这样

SQL(s"SELECT id FROM program WHERE document -> 'dept' ? {dept}")
.on('dept -> "CS")
....
Run Code Online (Sandbox Code Playgroud)

SQLException ::没有为参数5指定值.(SimpleParameterList.java:223)

(在我的实际查询中有更多参数)

我可以通过将我的参数转换为类型jsonb并使用@>运算符来检查包含来解决这个问题.

SQL(s"SELECT id FROM program WHERE document -> 'dept' @> {dept}::jsonb")
.on('dept -> "CS")
....
Run Code Online (Sandbox Code Playgroud)

我不太热衷于工作.我不知道演员阵容是否有性能损失,但这是额外的打字,并且不明显.

还有什么我可以做的吗?

postgresql jdbc anorm jsonb

5
推荐指数
2
解决办法
4690
查看次数

PooledRedisClientManager不释放连接

我在redis中存储json数据列表并使用ServiceStack c#client访问它.我基本上管理我自己的外键,我存储一个zrangeid,我使用我的应用程序内部的接口从中提取id zrange然后从Redis获取底层json对象并将它们打包为列表以返回到其他部分我的申请

我正在使用,PooledRedisClientManager因为我预计Redis将托管在与执行代码的服务器不同的服务器上.

我正在使用MSOpenTech Redis服务器在Windows 8上本地完成所有开发工作.目前我最大的挑战是客户端连接没有被关闭.

我的Redis persister正在注入一个IRedisClientManager(IoC是CastleWindsor)的实例.此代码在azure worker角色的上下文中执行.

这是我从zrange获取项目的方式:

public class MyRedisPersister<T> : IResourcePersister<T>
{ 
    IRedisClientManager _mgr;
    public MyRedisPersister(IRedisClientManager mgr)
    {
        _mgr = mgr;
    }

    public IResourceList<T> Get<T>(string key, int offset, int count) where T
    {
        using (var redis = _clientManager.GetClient())
        {
            var itemKeys = redis.GetRangeFromSortedSet(key, offset, offset + count - 1).ToList();
            var totalItems = redis.GetSortedSetCount(key);

            if (itemKeys.Count == 0)
            {
                return new ResourceList<T>
                    {
                        Items = new List<T>(),
                        Offset = …
Run Code Online (Sandbox Code Playgroud)

c# castle-windsor redis servicestack

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

使用$ dialog多次打开同一个对话框

我在回答这个问题时创建了这个plnkr'AngularJS - 在对话框中打开控制器(动态加载模板) '.

所有示例应用程序都会基于模板启动一个对话框,并带有自己的控制器.对话框第一次启动时,一切都按预期工作.但是,如果我尝试重新启动对话框,在解除它后,会显示模态背景但没有对话框.在javascript控制台中,您可以看到立即调用then返回的promise上的方法$dialog.open(),但不会删除背景并且不会报告错误.我完全不知所措.

可以在angular-ui bootstrap 文档页面上重复打开和关闭该对话框.

我哪里做错了?

HTML:

<!DOCTYPE html>
<html ng-app="plnkr">

  <head>
    <link data-require="bootstrap-css@*" data-semver="2.3.2" rel="stylesheet" href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" />
    <script data-require="angular.js@1.0.7" data-semver="1.0.7" src="http://code.angularjs.org/1.0.7/angular.min.js"></script>
    <script data-require="ui-bootstrap@0.3.0" data-semver="0.3.0" src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.3.0.min.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body>
    <div ng-view></div>
  </body>

</html>
Run Code Online (Sandbox Code Playgroud)

JS:

app.controller("DemoCtl", ["$scope", "$dialog", function($scope, $dialog){
  $scope.launch = function() {
    var d = $dialog.dialog({
      backdrop: true,
      keyboard: true,
      backdropClick: true,
      templateUrl: "dialog.html",
      controller: "DialogCtl"
    });

    d.open().then(function(result) { console.log("d.open().then"); });
  };
}]);
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui-bootstrap

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

CAML查询未正确排序

任何人都可以帮我解决这个CAML查询吗?当我翻转Ascending从属性TRUEFALSE(也试过TrueFalse),它不会重新排序的结果集.

CAML的其余部分是正确的,它由工具生成,并返回适当的结果.

<Where>
  <And>
    <And>
      <Eq>
        <FieldRef Name="Branch"/>
        <Value Type="Text">Camp 1</Value>
      </Eq>      
      <Eq>
        <FieldRef Name="Type"/>
        <Value Type="Choice">Day</Value>
      </Eq>
    </And>
    <Geq>
      <FieldRef Name="StartDateTime"/>
      <Value Type="DateTime">2009-01-05T00:00:00Z</Value>
    </Geq>
  </And>
  <OrderBy>
    <FieldRef Ascending="TRUE" Name="Title" />
  </OrderBy>
</Where>
Run Code Online (Sandbox Code Playgroud)

sharepoint caml

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

ConvertToList中的NullReference异常(ServiceStack OrmLite)

我在应用程序中使用OrmLite进行数据访问.在4个环境中的3个环境中,一切都按预期工作.

所有环境都在运行.net 4.5.数据库运行的版本不同.失败的环境是连接到sql server 10.50.2796,工作环境连接到sql server 10.50.4000.

System.Data*程序集的版本在无法正常工作的服务器上是相同的.

堆栈跟踪:

System.NullReferenceException:未将对象引用设置为对象的实例.位于服务堆栈的ServiceStack.OrmLite.ReadExtensions.ConvertToList [T](IDataReader dataReader)的lambda_method(Closure,Object,Object)中的C:\ src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\Expressions\ReadExtensions.cs:第151行.OrmLite.ReadExtensions.Select [T](IDbCommand dbCmd,Expression 1 predicate) in C:\src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\Expressions\ReadExtensions.cs:line 23 at ServiceStack.OrmLite.ReadConnectionExtensions.Exec[T](IDbConnection dbConn, Func2过滤器)在C:\ src\ServiceStack.OrmLite\src\ServiceStack.OrmLite\Expressions\ReadConnectionExtensions.cs:第26行

更新 我认为这是一个与我连接的sql server版本相关的错误.如果我在工作环境中更改连接字符串以使用运行10.50.2796的数据库,则会遇到相同的错误.

TIA,杰森

servicestack ormlite-servicestack

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

为什么servicestack不能将这个JSON反序列化为C#?

我试图将以下JSON表示反序列化为强类型对象.我可以从c# - > json序列化它,但反之亦然.

C#

public class Package 
{
   public Guid Id {get;set;}
   public List<string> Email {get;set;}
   public List<Items> Items {get;set;}
}

public class Items
{
   public string Uri {get;set;}
   public int Width {get;set;}
   public int Height {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

JSON

{
    "Id":"84fd8751-6107-41af-9473-65aae51e042a",
    "Email":[
    "j@t.com"
    ],
    "Items":"[
       {"Uri":"http://localhost/foo.jpg","Width":234,"Height":313},
       {"Uri":"http://localhost/bar.jpg","Width":234,"Height":174}]"
}
Run Code Online (Sandbox Code Playgroud)

用于反序列化的代码

var instance = JsonSerializer.DeserializeFromString<Package>(jsonData);
Run Code Online (Sandbox Code Playgroud)

instance创建了对象,并且有2个项目对象,instance.Items但它们的所有属性都为null.

TIA

c# json deserialization servicestack

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

请解释Scala regexp模式匹配中的这种非直观行为

为什么同一匹配器的匹配行为不同?

val str = "project git commit: da2837ec0a"

val Expr = "([a-f0-9]{10})$".r 

scala> str match { case Pattern(c) => c; case _ => "no match" }
res30: String = no match

scala> (Pattern findFirstIn str).get
res31: String = da2837ec0a
Run Code Online (Sandbox Code Playgroud)

regex scala

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

直接写入 kafka 状态存储

我们已经开始试验 Kafka,看看它是否可以用来聚合我们的应用程序数据。我认为我们的用例与 Kafka 流匹配,但我们不确定我们是否正确使用该工具。我们构建的概念验证似乎按设计工作,我不确定我们是否正确使用了 API。

我们的概念证明是使用 kafka 流来保存有关输出主题中程序的信息的运行记录,例如

{ 
  "numberActive": 0, 
  "numberInactive": 0, 
  "lastLogin": "01-01-1970T00:00:00Z"  
}
Run Code Online (Sandbox Code Playgroud)

计算计数很容易,它本质上是根据输入主题和输出字段执行比较和交换(CAS)操作。

本地状态包含给定密钥的最新程序。我们针对状态存储加入输入流,并使用 TransformSupplier 运行 CAS 操作,该操作使用 TransformSupplier 将数据显式写入状态存储

context.put(...)
context.commit();
Run Code Online (Sandbox Code Playgroud)

这是对当地国营商店的适当使用吗?是否还有另一种方法可以在主题中保持状态运行记录?

apache-kafka apache-kafka-streams

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