javascript - $.ajax 跨域请求的问题
黄舟
黄舟 2017-04-11 11:19:40
[JavaScript讨论组]

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

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

fastcgi request record is too big

要怎么解决?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
大家讲道理

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"]); 
}
怪我咯

这个貌似不是跨域的问题,是服务端不允许上传这么大的文件,修改一下服务端上传文件大小限制。

PHPz

可以把图片做一些压缩或者剪裁处理吧,如果服务器是tomcat的话,可以修改server.xml配置请求的限制。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号