【JavaScript】ajax跨域发送POST

2018-12-24  本文已影响0人  level

跨域可以使用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');
上一篇下一篇

猜你喜欢

热点阅读