有没有人使用带有Box.net云存储的jquery表单插件。目前,我正在努力使用jquery表单插件将文件上传到box.net。
我的Javascript代码:
$(document).ready(function(){
jQuery('#uploadForm').ajaxForm({
beforeSubmit: function() { alert('before');},
success: function(data) { alert('success: ' );},
url: 'https://upload.box.net/api/1.0/upload/token/183331021',
type: 'POST',
dataType: 'xml',
crossDomain: true
});
});
我的页面:
<form id="uploadForm" name="uploadForm" action="" method="POST" enctype="multipart/form-data">
<label>File to upload</label>
<input type="file" size="30" name="file" id="fileToUpload"/>
<input type="text" value="hello"/>
<input type="submit" value="Upload"></input>
</form>
似乎成功函数从未运行,是否有人知道可能导致此问题的原因?
答案 0 :(得分:0)
Ajax不适用于不同的域。这是JavaScript的“安全功能”。
http://en.wikipedia.org/wiki/Cross-site_scripting
可能的解决方法是通过相对服务器端请求镜像Ajax帖子,然后将其转发到上面的https框地址。我使用Perl和ASP.Net完成了这项工作,但也可以与其他人一起完成。