欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 关于跨域获取数据的问题

程序员文章站 2022-05-08 14:13:40
...

读取自己服务器数据的时候如下
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');
之后
javascript - 关于跨域获取数据的问题

为什么收到的结果不同,下面的结果也属于json吗?

回复内容:

读取自己服务器数据的时候如下
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');
之后
javascript - 关于跨域获取数据的问题

为什么收到的结果不同,下面的结果也属于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, 没啥不一样的...转换下就行