【JavaScript】ajax跨域发送POST

跨域可以使用jsonp,实现跨域请求,但是这种方式只能发送GET请求,type设置为POST也会自动转为GET,因为jsonp是利用script标签可以跨域链接资源的特性。

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  dataType: 'jsonp',
  jsonpCallback: "callback",
  success:function(json){
    console.log(json);
  }
 });

如果想发POST请求可以把dataType设置为json,增加crossDomain: true的配置:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  dataType: 'json',
  crossDomain: true,
  success:function(json){
    console.log(json);
  }
 });

这种方式需要后台来作支持,需要把返回数据头改为:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST,GET');
header('Access-Control-Max-Age: 1800');
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:什么是同源策略 同源策略是浏览器上为安全性考虑实施的非常重要的安全策略。 同源:URL由协议、域名、端口和路径...
    南方小小姑娘阅读 800评论 0 1
  • 前言部分 一、跨域是什么? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源(广义的)。 广义的跨域场景有以...
    爆发吧小宇宙阅读 3,332评论 0 12
  • JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的...
    西瓜w阅读 1,806评论 0 1
  • 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实...
    HeroXin阅读 866评论 0 4
  • 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实...
    他方l阅读 1,087评论 0 2