我正在使用ajax上传文件跨域。我认为窃听器在js的部分。
但我不知道到底出了什么问题。
<form id="upload">
<div class="control-group">
<div class="controls">
<input id="file" name="file" type="file">
</div>
<div class="form-group">
<button class="btn btn-primary" onclick="Submit()" type="button">submit</button>
</div>
</div>
</form>这是我的js
var form = $('#upload');
var formData = new FormData(form);
$.ajax({
url: URLs,
data: formData,
cache:false,
contentType: false,
processData: false,
crossDomain: true,
type:"POST",
dataType:'jsonp',
success: function(msg){
alert(msg["foo"]);
}
});发布于 2015-11-05 19:16:46
数据类型:“jsonp”,
JSONP与POST请求(文件上传要求)不兼容。
使用由dataType支持的任何其他jQuery。
由于您正在提出跨源请求,因此需要目标服务器通过CORS授予您权限。
发布于 2015-11-05 19:04:15
当用户单击该按钮时,您将调用函数Submit(),但它没有在js中定义。这应该是可行的:
function Submit()
{
var form = $('#upload');
var formData = new FormData(form);
$.ajax({
url: URLs,
data: formData,
cache:false,
contentType: false,
processData: false,
crossDomain: true,
type:"POST",
dataType:'jsonp',
success: function(msg){
alert(msg["foo"]);
}
});
}https://stackoverflow.com/questions/33552346
复制相似问题