Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法从我的简单nodejs服务器获得正确的json响应_Javascript_Jquery_Json_Reactjs - Fatal编程技术网

Javascript 无法从我的简单nodejs服务器获得正确的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

服务器:云服务器,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.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谢谢