//提交添加的模型
$('#fileSubmit').click(function(){
//保存数据并返回模型页面
var catedoryId = $('#type').val();
var img = $('#modelIcon').val();
//上传到文件服务器并取得返回的图片url
$.ajaxSetup({
async:false
});
$.post('http://file.longmap.com/file/upload',{folderUrl:img},function(data){
alert(data.result); //就是这个请求出现了跨域,不知道如何解决,
img = data.result; //网上的资料很多链接打不开,不知道是不是百度某个服务器挂掉了
})
var name = $('#name').val();
var dataStr = {};
dataStr.catedoryId = catedoryId;
dataStr.img = img;
dataStr.name = name;
//添加模型
$.post('/simulation/model/add',dataStr,function(data){
alert(data.msg);
window.location.href = '/simulation/page/list';
})
})
上面红色部分的请求跨域,这种改如何解决,思路,实例都行,谢谢各位了
15 个解决方案
#1
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过
Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
#2
这个可能清晰一点
//提交添加的模型
$('#fileSubmit').click(function(){
//保存数据并返回模型页面
var catedoryId = $('#type').val();
var img = $('#modelIcon').val();
//上传到文件服务器并取得返回的图片url
$.ajaxSetup({
async:false
});
$.post('http://file.longmap.com/file/upload',{folderUrl:img},function(data){
alert(data.result); //就是这个请求出现了跨域,不知道如何解决,
img = data.result; //网上的资料很多链接打不开,不知道是不是百度某个服务器挂掉了
})
var name = $('#name').val();
var dataStr = {};
dataStr.catedoryId = catedoryId;
dataStr.img = img;
dataStr.name = name;
//添加模型
$.post('/simulation/model/add',dataStr,function(data){
alert(data.msg);
window.location.href = '/simulation/page/list';
})
})
#3
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
#4
你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
#5
1.在前台定义一个回调函数,如function jsoncallback(data){
接收后台传过来的data即可
}
2.使用getJSONP('url?callback=jsoncallback',
{
参数...
}
3.后台定义与之对应的jsoncallback()方法处理业务即可
接收后台传过来的data即可
}
2.使用getJSONP('url?callback=jsoncallback',
{
参数...
}
3.后台定义与之对应的jsoncallback()方法处理业务即可
#6
1.在前台定义一个回调函数,如function jsoncallback(data){
接收后台传过来的data即可
}
2.使用getJSONP('url?callback=jsoncallback',
{
参数...
}
3.后台定义与之对应的jsoncallback()方法处理业务即可
文字可以,文件不行
#7
你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
#8
你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
#9
你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
#10
不允许跨域:
- 同一域名,不同端口
- 同一域名,不同协议
- 域名和域名对应ip
- 主域相同,子域不同
- 同一域名,不同二级域名
- 不同域名
这类问题最好丢给后台,
百度:跨域 上传文件
- 同一域名,不同端口
- 同一域名,不同协议
- 域名和域名对应ip
- 主域相同,子域不同
- 同一域名,不同二级域名
- 不同域名
这类问题最好丢给后台,
百度:跨域 上传文件
#11
不允许跨域:
- 同一域名,不同端口
- 同一域名,不同协议
- 域名和域名对应ip
- 主域相同,子域不同
- 同一域名,不同二级域名
- 不同域名
这类问题最好丢给后台,
百度:跨域 上传文件
现在后台正在整,我这边看来是没办法了,不过我还是在继续查找方法,试了不少,都不行。行的只有form表单,但是跳转页面了获取不到返回值。
#13
formData好像传的是二进制,需要后台解析二进制文件吗?我使用了formData还是提示有跨域问题,但是在network里面的response里面看到请求成功了,但是result里面没有返回值。。 你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
还表单传值一样,只是你用的ajax,返回js代码不会执行之类的,服务器该怎么获取就怎么获取
#14
formData好像传的是二进制,需要后台解析二进制文件吗?我使用了formData还是提示有跨域问题,但是在network里面的response里面看到请求成功了,但是result里面没有返回值。。 你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
还表单传值一样,只是你用的ajax,返回js代码不会执行之类的,服务器该怎么获取就怎么获取[/quote【表情】]
谢谢大佬了,问题最终为后端解决,后端写了个文件中转,我这边没跨域问题了。不过这个问题还会研究的,前端如何解决文件跨域上传我还会继续实现的,打算租个服务器去整。
#15
文件中转?就是他把文件上传的代码和你的文件放到一起,你就用相对路径去访问,这样就不跨域了,是这样吗? formData好像传的是二进制,需要后台解析二进制文件吗?我使用了formData还是提示有跨域问题,但是在network里面的response里面看到请求成功了,但是result里面没有返回值。。 你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
还表单传值一样,只是你用的ajax,返回js代码不会执行之类的,服务器该怎么获取就怎么获取[/quote【表情】]
谢谢大佬了,问题最终为后端解决,后端写了个文件中转,我这边没跨域问题了。不过这个问题还会研究的,前端如何解决文件跨域上传我还会继续实现的,打算租个服务器去整。
#1
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过
Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
#2
这个可能清晰一点
//提交添加的模型
$('#fileSubmit').click(function(){
//保存数据并返回模型页面
var catedoryId = $('#type').val();
var img = $('#modelIcon').val();
//上传到文件服务器并取得返回的图片url
$.ajaxSetup({
async:false
});
$.post('http://file.longmap.com/file/upload',{folderUrl:img},function(data){
alert(data.result); //就是这个请求出现了跨域,不知道如何解决,
img = data.result; //网上的资料很多链接打不开,不知道是不是百度某个服务器挂掉了
})
var name = $('#name').val();
var dataStr = {};
dataStr.catedoryId = catedoryId;
dataStr.img = img;
dataStr.name = name;
//添加模型
$.post('/simulation/model/add',dataStr,function(data){
alert(data.msg);
window.location.href = '/simulation/page/list';
})
})
#3
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
#4
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
#5
1.在前台定义一个回调函数,如function jsoncallback(data){
接收后台传过来的data即可
}
2.使用getJSONP('url?callback=jsoncallback',
{
参数...
}
3.后台定义与之对应的jsoncallback()方法处理业务即可
接收后台传过来的data即可
}
2.使用getJSONP('url?callback=jsoncallback',
{
参数...
}
3.后台定义与之对应的jsoncallback()方法处理业务即可
#6
1.在前台定义一个回调函数,如function jsoncallback(data){
接收后台传过来的data即可
}
2.使用getJSONP('url?callback=jsoncallback',
{
参数...
}
3.后台定义与之对应的jsoncallback()方法处理业务即可
文字可以,文件不行
#7
你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
#8
你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
#9
你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
#10
不允许跨域:
- 同一域名,不同端口
- 同一域名,不同协议
- 域名和域名对应ip
- 主域相同,子域不同
- 同一域名,不同二级域名
- 不同域名
这类问题最好丢给后台,
百度:跨域 上传文件
- 同一域名,不同端口
- 同一域名,不同协议
- 域名和域名对应ip
- 主域相同,子域不同
- 同一域名,不同二级域名
- 不同域名
这类问题最好丢给后台,
百度:跨域 上传文件
#11
不允许跨域:
- 同一域名,不同端口
- 同一域名,不同协议
- 域名和域名对应ip
- 主域相同,子域不同
- 同一域名,不同二级域名
- 不同域名
这类问题最好丢给后台,
百度:跨域 上传文件
现在后台正在整,我这边看来是没办法了,不过我还是在继续查找方法,试了不少,都不行。行的只有form表单,但是跳转页面了获取不到返回值。
#12
#13
formData好像传的是二进制,需要后台解析二进制文件吗?我使用了formData还是提示有跨域问题,但是在network里面的response里面看到请求成功了,但是result里面没有返回值。。 你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
还表单传值一样,只是你用的ajax,返回js代码不会执行之类的,服务器该怎么获取就怎么获取
#14
formData好像传的是二进制,需要后台解析二进制文件吗?我使用了formData还是提示有跨域问题,但是在network里面的response里面看到请求成功了,但是result里面没有返回值。。 你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
还表单传值一样,只是你用的ajax,返回js代码不会执行之类的,服务器该怎么获取就怎么获取[/quote【表情】]
谢谢大佬了,问题最终为后端解决,后端写了个文件中转,我这边没跨域问题了。不过这个问题还会研究的,前端如何解决文件跨域上传我还会继续实现的,打算租个服务器去整。
#15
文件中转?就是他把文件上传的代码和你的文件放到一起,你就用相对路径去访问,这样就不跨域了,是这样吗? formData好像传的是二进制,需要后台解析二进制文件吗?我使用了formData还是提示有跨域问题,但是在network里面的response里面看到请求成功了,但是result里面没有返回值。。 你不兼容ie就前端,你要兼容ie最好是通过服务器端来处理。
跨域没搞,除非http://file.longmap.com/file/upload是你的或者设置过 Access-Control-Allow-Origin响应头允许你跨域访问
而且注意设置那个响应头的话IE用的是 XDomainRequest对象,不是XMLHttpRequest对象
这个文件服务器http://file.longmap.com/file/upload是我们的,是二级域名,是后端的人在管理,我这边只需要设置响应头就可以了吗/?还有就是解决这个问题主要是后端解决还是前端解决,如果是前端解决的话前端除了需要设置相应头外还需要做哪些工作“?
前端兼容ie不能用jquery,jquery不支持XDomainRequest的跨域兼容,需要自己写代码来兼容,目标网站设置那个请求头为*就行,或者你允许的域名
通过Access-Control-Allow-Origin控制允许ajax跨域请求的域名
设置域名头不行,文字可以,文件不行。现在正在看ajaxfileupload
ajax原本就传递不了文件,要结合html5的FormData才行。
还表单传值一样,只是你用的ajax,返回js代码不会执行之类的,服务器该怎么获取就怎么获取[/quote【表情】]
谢谢大佬了,问题最终为后端解决,后端写了个文件中转,我这边没跨域问题了。不过这个问题还会研究的,前端如何解决文件跨域上传我还会继续实现的,打算租个服务器去整。