javascript - 关于跨域获取数据的问题
读取自己服务器数据的时候如下
外部不能获取数据,加上
header('content-type:application:json;charset=utf8');
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:POST');
header('Access-Control-Allow-Headers:x-requested-with,content-type');
之后
为什么收到的结果不同,下面的结果也属于json吗?
回复内容:
读取自己服务器数据的时候如下
外部不能获取数据,加上
header('content-type:application:json;charset=utf8');
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:POST');
header('Access-Control-Allow-Headers:x-requested-with,content-type');
之后
为什么收到的结果不同,下面的结果也属于json吗?
跨域获取数据用jsonp
图2写的很清楚是一个包含两个元素的数组,图1和图2的数据通过JSON.strigify()
和JSON.parse()
可以互相转化。
..跨域需要专门的 接口,不是随便的数据返回接口就可以.
需要jsonp,script 等标签完成.他们期待的返回是一个 function..里面带了参数,而不是简单的数据...
一家之间...
当然是,json格式可以是数组 也可以是字符串 也可以是一个对象。
JSON.parse('true');
JSON.parse('false');
JSON.parse('1');
JSON.parse('0');
JSON.parse('"hello"');
JSON.parse('""');
JSON.parse('[]');
JSON.parse('{}');
只要是能被JSON.parse正确转化的理论上都应该算作json对象。同时也要分清什么是json字符串什么是json对象。
header('content-type:application:json;charset=utf8');
这个header,浏览器把结果当json直接解析了
一个是字符串, 一个是json, 没啥不一样的...转换下就行