您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Web开发 >> ajax跨域请求'HTTPS://'报'invalid POST data'

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

来源:网络整理     时间:2016/5/13 23:12:06     关键词:

关于网友提出的“ajax跨域请求'HTTPS://'报'invalid POST data'”问题疑问,本网通过在网上对“ajax跨域请求'HTTPS://'报'invalid POST data'”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:ajax跨域请求'HTTPS://'报'invalid POST data'
描述:

今天在做微信摇一摇的时候请求的接口都报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=',
    data: {
      "date": 1451199351423,
      "page_index": 1
    },
    dataType: 'jsonp',
    success: function(data) {
      alert(JSON.stringify(data));
    }
  })

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

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


解决方案1:

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

解决方案2:

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

解决方案3:

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

解决方案4:

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

解决方案5:

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

解决方案6:

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

解决方案7:

使用jsonp

解决方案8:

jsonp的话 那就没法post!

解决方案9:

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


以上介绍了“ajax跨域请求'HTTPS://'报'invalid POST data'”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1056410.html

相关图片

相关文章