因为在AngularJS中使用CORS和http认证可能很棘手,所以我编辑了这个问题,分享了一个学到的课程.首先,我要感谢igorzg.他的回答对我很有帮助.方案如下:您希望使用AngularJS $ http服务将POST请求发送到其他域.获取AngularJS和服务器设置时需要注意几个棘手的事情.
第一:在您的应用程序配置中,您必须允许跨域调用
/**
* Cors usage example.
* @author Georgi Naumov
* gonaumov@gmail.com for contacts and
* suggestions.
**/
app.config(function($httpProvider) {
//Enable cross domain calls
$httpProvider.defaults.useXDomain = true;
});
Run Code Online (Sandbox Code Playgroud)
第二:您必须指定withCredentials:true并将用户名和密码指定为请求.
/**
* Cors usage example.
* @author Georgi Naumov
* gonaumov@gmail.com for contacts and
* suggestions.
**/
$http({
url: 'url of remote service',
method: "POST",
data: JSON.stringify(requestData),
withCredentials: true,
headers: {
'Authorization': 'Basic bashe64usename:password'
}
});
Run Code Online (Sandbox Code Playgroud)
Тhird:服务器设置.你必须提供:
/**
* Cors usage example.
* @author Georgi Naumov
* gonaumov@gmail.com …Run Code Online (Sandbox Code Playgroud) 我对AngularJS有以下问题.我有一个选择与ngOptions创建的选项.我想将所选选项设置回默认选项.我试图删除模型变量,例如:
if(angular.isDefined($scope.first)){
delete $scope.first;
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.这是我的HTML.
<div ng-app="app">
<div ng-controller="testCtrl">
<select data-ng-model="first" data-ng-options="item.name for item in selectContent" required="required">
<option value="" style="display: none;">-- select --</option>
</select>
{{first.value}}
<hr/>
<input type="button" value="reset dropdown" data-ng-click="resetDropDown()"/>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的JavaScript代码:
angular.module('app', []).controller('testCtrl', function ($scope) {
$scope.selectContent = [
{
name: "first",
value: "1"
},
{
name: "second",
value: "2"
}
];
$scope.resetDropDown = function() {
if(angular.isDefined($scope.first)){
delete $scope.first;
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是工作jsfiddle:
http://jsfiddle.net/zono/rzJ2w/
我怎么能解决这个问题?
最好的祝福.
我对cucumberjs有疑问.我找不到一种方法来确保将具有给定选择器的元素呈现到DOM中.我和Chai一起使用cucjs. https://github.com/cucumber/cucumber-js isPresent返回对象 - 无论元素是否存在.所以问题是如何检查DOM中是否存在元素.
我将编辑问题以分享一个学到的课程.我阅读文档也想感谢Nathan Thompson.isPresent()返回一个promise,该promise将解析该元素是否存在于页面上.
http://angular.github.io/protractor/#/api?view=Protractor.prototype.isElementPresent
代码示例有点误导.因此,如果您希望在DOM中存在具有给定选择器的元素,则必须使用以下内容:
element(by.id('someId')).isPresent().then(function(isElementVisible) {
expect(isElementVisible).to.be.true;
});
Run Code Online (Sandbox Code Playgroud)
或者使用带有承诺的柴.
expect(element.isPresent()).to.eventually.be.false
Run Code Online (Sandbox Code Playgroud)
然而,"最终"这个词听起来很不愉快.我们希望确保最终不确定.:)
在这里可以看到关于这个问题的文章到我的个人博客中.
我对mongodb不了解,我只是想问一问是否有可能,如果可能的话,该如何做。我的问题是我们如何知道游标何时过期。是否有用于此目的的任何API?
如有任何意见和建议,我将不胜感激。
最好的祝福。
我喜欢使用(等)$n的属性来创建正则表达式单行代码。像这样的东西:RegExpRegExp.$1RegExp.$2
var inputString = '[this is text that we must get]';
var resultText = /\[([^\]]+)\]/.test(inputString) ? RegExp.$1 : '';
console.log(resultText);
Run Code Online (Sandbox Code Playgroud)
MDN 文档说这些属性现在已被弃用。什么是更好的未弃用的等效项?
我对twitter bootstrap有一个困惑.我在fieldset里面有传奇标签.这是我的代码:
<form>
<fieldset>
<legend>Test legend</legend>
Some text ..
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
这是非常简单的代码,它的结果可以在这里查看:http: //jsfiddle.net/zono/ApzWW/
在引导嵌入之后,我对这些dom元素有非常不同的看法.结果可以在这里查看:http: //jsfiddle.net/zono/ApzWW/1/
我如何重置fieldset和legend元素行为?
我会非常感谢所有方法的想法和建议.
最好的祝福.
我保留了一些用户数据simple-storage.当用户卸载加载项时,我想删除此用户数据.是否有某些事件或类似事件?
我想在本地javascript变量上实现setter和getter.这是一个示例函数:
function someThing() {
var someLocalvariable = '';
}
// with this function I want to
// return value of someLocalvariable
// also if it is possible to implement
// setter in this way.
someThing.prototype.getLocalVar = function() {
}
Run Code Online (Sandbox Code Playgroud)
我想变量'真的'私有.我不会使用这样的东西:someThing.prototype.someLocalvariable =
要么
function someThing() {
this.someLocalvariable = '';
}
Run Code Online (Sandbox Code Playgroud)
或者在someThing()中附加函数,如下所示:
function someThing() {
var someLocalvariable = '';
this.getLocalvariable = function() {
return someLocalvariable;
}
}
Run Code Online (Sandbox Code Playgroud)
我将非常感谢任何指导和帮助.
如果可能的话,我想在使用 CTRL + C 杀死一个 npm 脚本时执行一些命令或脚本。例如,如果 gulp watch 被中断。有可能的?
我有以下问题与ngShow.我从$ http.get接收响应作为jSON,并使用ngRepeat构造几个DOM元素.这一切都正常.从我的控制器中只需申请:
$http.get(requestUrl).success(function (data) {
$scope.results = data.results;
});
Run Code Online (Sandbox Code Playgroud)
data.results是这样的对象:
{
"someProp": ["item1", "item2", "item3"],
"someProp1": ["item1", "item2", "item3"]
}
Run Code Online (Sandbox Code Playgroud)
从我的模板我尝试使用这样的ngShow:
<table ng-show="Object.keys(results).length > 0">
Run Code Online (Sandbox Code Playgroud)
和这样:
<table ng-show="Object.keys($scope.results).length > 0">
Run Code Online (Sandbox Code Playgroud)
没有运气.
<table ng-show="true">
Run Code Online (Sandbox Code Playgroud)
和
<table ng-show="false">
Run Code Online (Sandbox Code Playgroud)
好好工作.
所以似乎问题在于表达式.我会非常感谢任何帮助.
angularjs ×3
javascript ×3
chai ×1
cors ×1
cucumberjs ×1
firefox ×1
gulp ×1
mongodb ×1
node.js ×1
npm ×1
protractor ×1
regex ×1