Javascript 无法从我的简单nodejs服务器获得正确的json响应
服务器:云服务器,Ubuntu 15.04 x64。nginx安装在侦听端口80上 服务器程序:使用NodeJS编写,只需用json响应即可。比如{msg:“完成”} 客户端(使用React和JQuery的HTML页面):简单地向服务器询问json数据 问题出在客户身上Javascript 无法从我的简单nodejs服务器获得正确的json响应,javascript,jquery,json,reactjs,Javascript,Jquery,Json,Reactjs,服务器:云服务器,Ubuntu 15.04 x64。nginx安装在侦听端口80上 服务器程序:使用NodeJS编写,只需用json响应即可。比如{msg:“完成”} 客户端(使用React和JQuery的HTML页面):简单地向服务器询问json数据 问题出在客户身上 /1) this.serverRequest=$.get({url:'https://api.github.com/users/octocat/gists,成功:功能(ret){ // 2) //this.serverRequ
/1)
this.serverRequest=$.get({url:'https://api.github.com/users/octocat/gists,成功:功能(ret){
// 2)
//this.serverRequest=$.get({url:'http://my_server_ip_address:7534/test,成功:功能(ret){
警报(“确定完成”);
}.bind(this),错误:函数(e){
警报(“错误:+e”);
}.bind(this)};
查看错误消息。使用console.log(e)
而不是alert(e)
,查看对象e的属性。在@juvenu v的回答之后确定。。我认为“对象”是错误对象。我可以通过console.log(e)查看错误消息
以下是我找到的解决方案的摘要:
1) 当服务器程序响应时,将标题**Access Control Allow Origin与值*放在一起
我将nodeJS与express一起使用,因此代码是
res.header('Access-Control-Allow-Origin','*');
并且客户端使用url请求。
我使用JQuery,代码是
$。获取({
url:“http://address!!!!",
键入:“获取”,
成功:功能(结果){
控制台日志(“yay”);
控制台日志(结果);
},
错误:函数(err){
控制台日志(err);
},
});
如果上面的客户机代码不起作用,那么尝试添加'dataType:'json'”
2) 如果我在服务器程序中添加以下代码。。
res.header('Access-Control-Allow-Headers','Content-type');
那么客户端请求必须具有
//contentType:“应用程序/json”,
参考资料:
谢谢大家!!!!界面是否使用https?您在JavaScript控制台(F12)中是否看到任何错误?首先,您收到错误消息
错误:[object]
因为它是js中的基本类型转换。第二,在nginx中可能安装防火墙,但不确定,例如,您在Chrome中收到了正确的数据。当您收到错误的数据时,您使用的浏览器不使用https。它使用http.blex:不,它使用https。它使用http。在控制台中没有显示错误。Dmitry:所有浏览器都接收httpse数据正确。我使用Chrome打开我的客户端html文件,其中包含javascript代码。错误:[object object]
因为e是一个对象。{msg:“done”}
不是json,而是一个对象。啊……伙计。我为什么不首先检查控制台…(我不知道如何检查)是的,有一条评论.net::ERR\u CONNECTION\u densed.hm…现在我需要配置我的服务器设置。我不知道如何设置=P谢谢