javascript - $.ajax 跨域请求的问题
本文介绍了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脚本, 其它都不变, 修改dataType
为 json
$.ajax({
...,
dataType: 'json'
});
更正一个知识:
// 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屋!
查看全文