javascript - $.ajax 跨域请求的问题

查看:106
本文介绍了javascript - $.ajax 跨域请求的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

前端代码:
把图片转化成二进制上传

ajax返回的回调对象会拼在url上,会报一下错误,

fastcgi request record is too big

要怎么解决?

解决方案

jsonp是get形式,承载的信息量有限,所以信息量较大时CORS是不二选择.
所以你用 type: 'post'

请求地址(假设xxx.php)加入几个头部:

// 建议不要填写 *
header("Access-Control-Allow-Origin: * ");
// 设置只允许POST请求跨域
header("Access-Control-Request-Method: POST"); 

js脚本, 其它都不变, 修改dataTypejson

$.ajax({
    ...,
    dataType: 'json'
});

详细cors内容

更正一个知识:

// value 值只能为 * 或者 [http|https]://hostname
header("Access-Control-Allow-Origin: * "); 

域名要求完整, 如果想要允许多个域名进行跨域请求, 可以参照如下代码

<?php
$allowOrigins = array("http://www.a.com", "http://www.b.com");

if (in_array($allowOrigins, $_SERVER['HTTP_ORIGIN'])) {
    header("Access-Control-Allow-Origin: ". $_SERVER["HTTP_ORIGIN"]); 
}

这篇关于javascript - $.ajax 跨域请求的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆