我有以下工厂定义:
angular.module("account").factory("users",["$http",
function(a){
return {
getUser: function(){
return a.get("/user/me").then(function(r){
return r.data;
});
}
};
}
]);
Run Code Online (Sandbox Code Playgroud)
而我的控制器:
angular.module("test.controllers",["account"])
.controller("TestCtrl",["$scope","users",
function(a,u){
a.user = u.getUser();
console.log(a.user);
}]);
Run Code Online (Sandbox Code Playgroud)
这是console.log:
d {$$state: Object, then: function, catch: function, finally: function} $$state: Object status: 1 value: Object user: Object__v: 0 _id: "54c1fg29f36e117332000005" temp: "1ce3793175e0b2548fb9918385c2de09" __proto__: Object __proto__: Object __proto__: Object __proto__: Object
Run Code Online (Sandbox Code Playgroud)
上面的代码返回一个状态对象而不是用户对象.但是从日志中,状态对象具有值内的用户对象.我如何获得用户对象?或者我这样做完全错了吗?
我知道另一种方法是返回$ http.get并在控制器中调用then()方法.但我会经常使用用户对象,如果我在控制器中调用then()方法,它几乎与在控制器而不是工厂中使用$ http.get相同.
我的快速服务器在端口3000上运行,nginx用于反向代理.
req.ip总是返回127.0.0.1,req.ips返回一个空数组
app.enable('trust proxy');
使用/不启用信任代理时,x-forwarded-for不起作用:
var ip_addr = req.headers['X-FORWARDED-FOR'] || req.connection.remoteAddress;
Run Code Online (Sandbox Code Playgroud)
nginx配置:
server { listen 80; server_name localhost; access_log /var/log/nginx/dev_localhost.log; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
如何获取请求客户端的IP地址?
1.我按照以下教程在我的私人服务器上设置git进行Web开发.
我在使用时收到以下错误
git push origin master
Run Code Online (Sandbox Code Playgroud)
致命:http ://mysite.com/.git/info/refs?service=git-receive- pack not found:你在服务器上运行git update-server-info了吗?
我在stackoverflow上跟进了各种问题,这些问题都指向在使用git push之前创建一个存储库,但我已经有了一个git存储库.
2.当我访问mysite.com/.git时,会显示完整的.git存储库.我如何禁用此功能,只需启用git push即可.
我有多个子域,我正在尝试使用跨子域的会话。
http://example.com
http://subdomain.example.com
Run Code Online (Sandbox Code Playgroud)
我还在config.php中设置了cookie域
$config['cookie_domain'] = ".example.com";
Run Code Online (Sandbox Code Playgroud)
在其他域中使用时,会话userdata和flashdata为空。我对于两个CI实例也使用相同的会话表
为了在 DOM 上定位任何元素,我大部分时间使用 margin-left, margin-top : px 。有没有其他选择,使用相同的方法是否是一个好习惯?
我正在构建一个联系表单,我想通过ajax提交数据并通过相同的方式显示结果.但只要用户点击提交按钮,该页面就会自动提交.我也使用过jquery的preventDefault和stopPropogation.但它仍然无法正常工作.我是jQuery的新手,我可能会遗漏一些小东西.这是代码:
形成
<form action="#" method="post" accept-charset="utf-8" name="contactform" id="contactform">
<p>Name<br/><input type="text" name="cname" value="" id="cname" required /></p><br/>
<p>Email<br/><input type="email" name="cemail" value="" id="cemail" required /></p><br/>
<p>Message<br/><textarea name="cmessage" cols="40" rows="10" id="cmessage" required ></textarea></p>
//Re-captcha code here
<p><input type="submit" name="contact_submit" value="Submit" id="contact_submit" /></p>
</form>
<br />
<div id="result"></div>
Run Code Online (Sandbox Code Playgroud)
脚本
$(document).ready( function(){
$("#contact_submit").click( function(e){
e.preventDefault();
e.stopPropagation();
});
$("#result").html('');
$("#contactform").validate();
});
Run Code Online (Sandbox Code Playgroud)
我已经包含了jQuery Validation Plugin,它也没有用.