我想知道是否可以使用while或for使用嵌套调用$http.get:
这是一个例子:
for (var i = 0; i < $scope.comments.length; i++) {
alert($scope.comments[i].id); // = 2
$http.get('/api/logged/like/isliked?id=' + $scope.comments[i].id).success(function(data, status, header, config) {
alert('Test');
alert($scope.comments[i].id); // Not executed.
}).error(function(data){alert('The requeste isn't working');}); }
Run Code Online (Sandbox Code Playgroud)
我把两个alerts显示我用来检索JSON的评论的ID.我得到第一个警报的id,然后第二个警告"测试",但第三个警报没有显示.为什么不?
这是JSON的一个例子:
{数据 ":[{" ID ":2 "is_liked":假" nb_comments ":1," nb_likes ":1," date_creation ":" 2014-05-26T17:03:54 + 0000" },{ "ID":1, "is_liked":真 "nb_comments":0 "nb_likes":1, "date_creation": "2014-05-26T17:00:26 + 0000"}]}
我实际上正在尝试在Xcode8.1上使用Swift3解析Json对象。这是我的代码:
if let objData = objJson["DATA"] as! NSDictionary? {
var msg: String = ""
if let tmp = objData.object(forKey: "Message") {
msg = tmp as! String
} else {
print("NIIILLLLL")
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:Could not cast value of type 'NSNull' (0x4587b68) to 'NSString' (0x366d5f4)在此行msg = tmp as! String。
我不明白为什么会收到此错误,因为tmp的类型是Any,它应该显示打印内容而不是转换tmp as! String
感谢您的帮助,
当控制器的字段不为空时,我试图在输入字段内插入一个值。
%input{:name => "user[email]", :placeholder => "Email", :type => "email", :value => @params[:user][:email] if @params[:user] && @params[:user][:email]}/
Run Code Online (Sandbox Code Playgroud)
那就是我想要做的,但是显然我遇到了一个错误:
syntax error, unexpected modifier_if, expecting ')'
e => @params[:user][:email] if @params[:user] && @params[:us
^
/xxx/xxx/xxx syntax error,
unexpected ')', expecting keyword_end
@params[:user][:email])).to_s);; _hamlout.buffer << (">\n<in
^
Run Code Online (Sandbox Code Playgroud)
我应该修改些什么才能使它正常工作?
提前致谢 :)