我应该使用哪一个?
有没有理由使用一个而不是另一个?
错误处理更好吗?
$.ajax({
url: url,
data: { start: start, end: end }
}).done(function(data, textStatus, jqXHR) {
$('#myElement').append(data);
}).fail(function() {
// report error
});
Run Code Online (Sandbox Code Playgroud)
要么
$.ajax({
url: url,
data: { start: start, end: end },
success: function(data, textStatus, jqXHR) {
$('#myElement').append(data);
},
error: function(jqXHR, textStatus, errorThrown) {
// report error
}
});
Run Code Online (Sandbox Code Playgroud) 我正在使用Google Chrome的控制台窗口来尝试找出为什么我无法在javascript中循环遍历数组.
我有一个调用的javascript对象moveResult,如下所示:

我正试图MoveParts在这样的javascript中循环:
for (var movePart in moveResult.MoveParts) {
console.log(movePart.From);
};
Run Code Online (Sandbox Code Playgroud)
我总是得到undefined而不是实际价值.但是,如果我尝试显式访问第一项,我会得到我想要的,如下所示:
console.log(moveResult.MoveParts[0].From);
Run Code Online (Sandbox Code Playgroud)
结果是"b1".
为什么我的循环不起作用?
我也试过一个foreach:
moveResult.MoveParts.foreach(function (movePart) {
console.log(movePart.From);
};
Run Code Online (Sandbox Code Playgroud) 我是AngularJS的新手,对有关事件监听器的文档感到困惑.
该文档列出了该$routeChangeSuccess事件的以下内容:
$ routeChangeSuccess解析路由依赖关系后广播.ngView侦听指令以实例化控制器并呈现视图.
类型:
广播目标:
根范围
但是,它没有引用传递给回调函数的任何参数.然而,我在SO上看到的大多数示例都有类似的回调函数列表:
$rootScope.$on("$routeChangeSuccess", function(event, next, current) {
...
});
Run Code Online (Sandbox Code Playgroud)
根据AngularJS文档,所有回调都有第一个参数event.我明白了.但是,在是next与current来自哪里?在任何文档中列出的是哪里?
我正在尝试开发一个匹配两个字符串之间所有字符串的方法:
我试过这个,但它只返回第一场比赛:
string ExtractString(string s, string start,string end)
{
// You should check for errors in real-world code, omitted for brevity
int startIndex = s.IndexOf(start) + start.Length;
int endIndex = s.IndexOf(end, startIndex);
return s.Substring(startIndex, endIndex - startIndex);
}
Run Code Online (Sandbox Code Playgroud)
我们假设我们有这个字符串
String Text = "A1FIRSTSTRINGA2A1SECONDSTRINGA2akslakhflkshdflhksdfA1THIRDSTRINGA2"
Run Code Online (Sandbox Code Playgroud)
我想ac#function执行以下操作:
public List<string> ExtractFromString(String Text,String Start, String End)
{
List<string> Matched = new List<string>();
.
.
.
return Matched;
}
// Example of use
ExtractFromString("A1FIRSTSTRINGA2A1SECONDSTRINGA2akslakhflkshdflhksdfA1THIRDSTRINGA2","A1","A2")
// Will return :
// FIRSTSTRING
// SECONDSTRING
// THIRDSTRING
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助 !
我有一个ASP .NET MVC 3项目和我的一个"创建"视图的问题.
我有使用ajax表单实现的级联下拉字段.
粗略地说这个观点 - 像这样:
@using (Html.BeginForm(...))
{
@Html.MyDropDown1
using (Ajax.BeginForm(...))
{
@Ajax.MyDropdown2
<input type="submit" value="Select" />
}
using (Ajax.BeginForm(...))
{
@Ajax.MyDropdown3
<input type="submit" value="Select" />
}
<!-- other form fields -->
<input type="submit" value="Create" />
}
Run Code Online (Sandbox Code Playgroud)
问题是ajax表单中的提交按钮实际上提交了外部html表单.
有没有办法指定我要提交的表单的名称?
我想把我的ajax表单放在我的html表单上面所以不会有任何嵌套 - 但我需要在我的html帖子中下拉列表的选定项的值.
谢谢,皮特
我有一个较旧的应用程序,我在那里用来Microsoft.Practices.EnterpriseLibrary.Data从数据库中获取数据.我最近升级到.NET 4.5并希望利用await/async.
根据命名标准,我没有看到任何以"Async"结尾的方法,即使在最新版本的软件包中也是如此.是否可以在不手动使其异步的情况下对此ADO .NET库使用await/async?
试图在HTML5中做一个简单的拖放示例 - 但是当我将图像放入div元素时,我得到以下错误.
未捕获的TypeError:无法设置null的属性'innerHTML'
所以我假设错误消息意味着dragElement为null.我不明白为什么,因为我在dragstart事件中将它设置为img元素的HTML.
有谁知道如何使这项工作?
var dragElement = null;
$('#x').bind('dragstart', function (e) {
dragElement = this;
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/html', this.innerHTML);
});
$('#drop-box').bind('dragover', function (e) {
e.preventDefault();
return false;
});
$('#drop-box').bind('drop', function (e) {
e.preventDefault();
if (e.stopPropagation) {
e.stopPropagation();
}
if (dragElement != this) {
dragElement.innerHTML = this.innerHTML;
this.innerHTML = e.originalEvent.dataTransfer.getData('text/html');
}
return false;
});
Run Code Online (Sandbox Code Playgroud) 我使用的东西一样$"hello {person}",并nameof(arg1)在我的代码,但检查项目属性我针对.NET 4.5.
这个可以吗?我认为这些东西是在4.6中引入的.
该项目在我的机器上构建并运行正常 - 但我担心在部署它时会出现问题.
我们有一个大型解决方案(> 100个项目),几乎每种类型都使用服务定位器(示例1)或我们自己的类型字典(示例2)进行实例化.
例如,我们有:
IQuote quote = Registry.Resolve<IQuote>();
Run Code Online (Sandbox Code Playgroud)
要么
IQuote quote = Registry.Find<IQuote>(args);
Run Code Online (Sandbox Code Playgroud)
第二个示例转到配置文件,以查找使用反射实例化的具体对象.
通过代码后,它会让生活变得更加困难 - 因为不清楚使用的具体类型是什么 - 因此我们必须多次检查映射,因为我们正在尝试学习代码的一部分.使用以上作为示例按F12:quote.DoSomething()将带您进入接口定义.
它实现起来有点困难 - 我们需要一个接口+具体的类+配置映射,当替代只有一个类时.
想一想 - 我不知道有什么东西曾被"换掉"换成另一种类型 - 所以虽然我们已经实现了IoC但我们还没有使用它,或者至少 - 很少.
那么 - 它真的值得吗?我们是否错误/太多地实施了它?我误会了什么吗?
我有一个我正在显示的项目列表ng-repeat.我想添加一个过滤器来显示/隐藏已归档的项目.
我添加了一个复选框:
<input type="checkbox" ng-model="queryFilter.archived">Show archived messages
Run Code Online (Sandbox Code Playgroud)
在我的控制器中我有这个:
$scope.queryFilter = {
archived: false
};
Run Code Online (Sandbox Code Playgroud)
我的项目列表显示在表格中.我尝试过以下方法:
<tr ng-repeat="message in messages | filter : queryFilter">
<tr ng-repeat="message in messages | filter : { archived: queryFilter.archived }">
<tr ng-repeat="message in messages | filter : queryFilter track by $index">
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
错误:[filter:notarray]
预期的阵列但收到:{}
过滤确实有效,但我想知道为什么我会收到错误.
c# ×3
ajax ×2
angularjs ×2
javascript ×2
jquery ×2
.net ×1
.net-4.5 ×1
.net-4.6 ×1
ado.net ×1
arrays ×1
asp.net-4.5 ×1
async-await ×1
callback ×1
for-loop ×1
foreach ×1
form-submit ×1
html ×1
loops ×1
nested-forms ×1