我从我控制的远程服务器获取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) 我试图在angularjs中围绕范围,尤其是在使用指令的模块上调用回调时.我找到了3种不同的方法来完成同样的事情,我试图了解每种方法的优缺点.
什么时候直接在父母身上使用&,=或调用函数?
我更喜欢使用'='符号绑定,因为指令和托管指令的模块中需要的代码较少,但根据文档(了解Transclusion和Scopes),似乎使用the绑定回调&是首选方法,为什么?
单击时我有一个按钮我执行此功能:
$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)
弹出警报确定,但单击确认按钮时,警报会消失,就是这样.没有其他事情发生(应该触发向主屏幕的过渡.)在警报被解除后,如果再次点击导致警报弹出的按钮,视图/页面传输正在被触发,我们回到主要页面,以及警报再次弹出.
问题是:
我正在使用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)
我不太热衷于工作.我不知道演员阵容是否有性能损失,但这是额外的打字,并且不明显.
还有什么我可以做的吗?
我在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) 我在回答这个问题时创建了这个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) 任何人都可以帮我解决这个CAML查询吗?当我翻转Ascending从属性TRUE到FALSE(也试过True和False),它不会重新排序的结果集.
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) 我在应用程序中使用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,杰森
我试图将以下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
为什么同一匹配器的匹配行为不同?
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) 我们已经开始试验 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)
这是对当地国营商店的适当使用吗?是否还有另一种方法可以在主题中保持状态运行记录?
angularjs ×4
servicestack ×3
c# ×2
ajax ×1
anorm ×1
apache-kafka ×1
caml ×1
cordova ×1
cors ×1
javascript ×1
jdbc ×1
jquery ×1
json ×1
jsonb ×1
postgresql ×1
redis ×1
regex ×1
scala ×1
sharepoint ×1