json与jsonp的应用 - - >

(一)json
window.JSON.parse() //用于将一个 JSON 字符串转换为 JavaScript 对象。
window.JSON.stringify() //用于将 JavaScript 值转换为 JSON 字符串。

取值
* 获取json数据 
     * 以“{”开头的是对象格式获取时用 getJSONObject() 
     * 以“[”开头的是数组格式获取时用getJSONArray() 

json的数据格式是 jsonarray 是数组形式。 
json的对象格式是jsonobject 是对象形式。 

parsejson是json转换成对象 
stringify是将obj转换成json格式。 

 

(二)jsonp
浏览器的同源策略

1.同源:域名、协议、端口都是一样的称为同源,否则为非同源。 
非同源可以发送请求的有:a,img,link,script,form.

只有 协议+端口+域名 一模一样才允许发 AJAX 请求

突破同源策略 === 跨域

jsonp可以动态的创建script来给非同源服务器发送请求,但是jsonp只能发送get请求,没有办法发送post及其他请求,这就造成了很大的局限性。 
因此,变引入了CORS(Cross-Origin Resource Sharing)跨域来解决这个问题。只需要在后台服务器响应头中添加请求域名即可,就可以使用AJAX进行非同源网站之间的交流了。 
同源策略: 
和后端人员商量好,在我门请求的路径响应头里加上

response.setHeader('Access-Control-Allow-Origin','http://localhost:8001')
//这样就可以告诉浏览器不要阻止,请求方获取响应内容。
后端代码:

response.statusCode = 200;
    response.setHeader('Content-Type', 'text/xml; charset=utf-8');
    response.setHeader('Access-Control-Allow-Origin','http://localhost:8888')
    response.write(`
    {
      "note":{
        "to":"friend",
        "from":"wangliuyong",
        "heading":"打招呼",
        "content":"hello"
      }
    }
    `);
    response.end();


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值