请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

JSONP和AJAX的关系

请问老师:

1. JSONP是AJAX实现跨域的一种方式,这样理解对吗?

2. var xhr=new XMLHttpRequest();

xhr.open("GET","./api",true);

xhr.onreadystatechange=function(){

if(readyState===4&&status===200){

console.log(xhr.responseText)

}

}

xhr.send();

那这段AJAX请求代码中,哪里体现了JSONP???

正在回答 回答被采纳积分+3

2回答

ayoualing 2017-09-05 18:41:25

jsonp是利用<script>的下载可以跨域的这个性质,跟XMLHttpRequest没有关系


下面是我实现的一个jsonp的简单例子


前端代码:

  <script>
    function myFunc( data ) {
      console.log(data)
    }
  </script>
  <script src="http://localhost:3000/api/jsonp/?func=myFunc"></script>



后端代码:

  // 拿到前端的函数名
  var func = req.query.func
  data = '我是数据'
  // 返回 myFunc("我是数据") 给前端
  res.status(200).send(func + '("' + data + '")')


前端得到后端返回的数据后会开始解析执行,然后就得到了后端返回的数据了


0 回复 有任何疑惑可以回复我~
双越 2017-09-03 18:03:59

第一点是对的。不过,只是功能上的,而不是实现上的。jsonp的实现并没有用到 XMLHttpRequest ,好好去看看 jsonp 的那节视频

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信