请问$http.jsonp和$jsonp有何区别?

image.png
image.png
使用$http.jsonp可以正常通,但是使用$jsonp就报错,
image.png
image.png
image.png

this.$jsonp('http://suggestion.baidu.com/su',
        {
          params:{
            wd:'王菲'
          },
          jsonp:'cb'
        }).then(res => {
          console.log("res:",res)

    }).catch(err => {
      console.log(err)
    })

使用$jsonp竟然使得不是jsonp格式的数据竟然也能跨域成功,好懵逼
image.png
image.png

  //跨域成功
    this.$jsonp('https://view.inews.qq.com/g2/getOnsInfo',
        {
            name:'disease_h5'
        }).then(res => {
          console.log("res:",res.data)

    }).catch(err => {
      console.log(err)
    })

有时候又不行
image.png
image.png

 //跨域失败
    this.$jsonp('https://c.m.163.com/ug/api/wuhan/app/data/list-total',
        {
          // name:'disease_h5'
        }).then(res => {
      console.log("res:",res.data)

    }).catch(err => {
      console.log(err)
    })

到底是什么神奇的事情?
请赐教,不胜感激。

阅读 1.8k
1 个回答

1、第二个报错是什么报错,这你要分辨清,他是js语法错误,{q:'',p:,s:[]},冒号后面接一个逗号,这个写法是错误的,跨域请求是成功的,成功后运行这个语句出错了

2、第三个请求就是jsonp的请求,应该是这个jsonp内部做了封装,然后这个接口也是个比较让人舒服的接口,他会接收你的callback名称,然后用这个拼接,而昨天百度那个是固定的window.baidu.sug
image.png
image.png
image.png
可以看出来,返回的数据结构是什么样子的,在控制台打印的,是接口封装处理后的

3、第四个接口,昨天也说了,就不支持jsonp

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题