ajax跨域请求'HTTPS://'报'invalid POST data'

发布于 2022-09-01 23:38:58 字数 983 浏览 18 评论 0

今天在做微信摇一摇的时候请求的接口都报invalid POST data不知为啥

微信的批量查询页面统计数据接口:

接口调用请求说明:

http请求方式: POST(请使用https协议)
https://api.weixin.qq.com/shakearound/statistics/pagelist?access_token=ACCESS_TOKEN
POST数据格式:json
POST数据例子:
{    
     "date": 1425139200,        
     "page_index":1
}

这是我的请求:

$.ajax({
    type: 'POST',
    url: 'https://api.weixin.qq.com/shakearound/statistics/devicelist?access_token=<?php echo $ak; ?>',
    data: {
      "date": 1451199351423,
      "page_index": 1
    },
    dataType: 'jsonp',
    success: function(data) {
      alert(JSON.stringify(data));
    }
  })

clipboard.png

// 2015.12.28 17:02补充
现在改成服务端请求了,结果返回parse json failed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

黑色毁心梦 2022-09-08 23:38:58

找到原因了,换成服务请求了,然后请求微信的接口必须是json串才行~

﹏半生如梦愿梦如真 2022-09-08 23:38:58

在浏览器不允许跨域请求数据的,我记得用jsonp的方式好像还需要一个callback的吧?也就是要传一个回调函数名,并且微信那边提供跨域支持

°如果伤别离去 2022-09-08 23:38:58

jsonp的话 那就没法post!

猫弦 2022-09-08 23:38:58

使用jsonp

桃扇骨 2022-09-08 23:38:58

不要直接跨域请求。
前端ajax直接请求到自己的后台服务器,然后后台服务器再去请求微信的系统,自己的服务器做一次中转就好了。
不要直接在前端提交到微信服务器。

悍妇囚夫 2022-09-08 23:38:58

post用jsonp也不行!要不你就在你服务提供者动手..要不你就nginx反向代理.假装在同域..或者自写服务中转.不过没有nginx方便

一直在等你来 2022-09-08 23:38:58

Jsonp 请求是无法使用POST 方法的!即使你指定为post, 现在报错 无法格式化成 json 说明数据是返回了的!

晒暮凉 2022-09-08 23:38:58

首先jsonp是不支持post,其次js跨域访问数据需要服务端的支持:即服务端响应jsonp,或者在response中添加 Access-Control-Allow-Origin 的header,所以如果是调用微信接口的话,js是无法调用的!

熊抱啵儿 2022-09-08 23:38:58

貌似直接ip地址会有跨域的问题。有域名应该就可以了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文