我正在创建一个facebook应用程序,并希望使用jquery form plugin实现类似ajax的图片上传。在chrome / ff中一切都很好但在iexplorer中我得到了以下错误:
Message: Access Denied
Line: 349
Char: 5
Code: 0
URI: http://application.my_domain.gr/apps/new_app/js/jquery.form.js
我知道跨域问题,但无法理解为什么会发生这种情况,因为我使用的所有脚本都在同一个域中。
以下是我在firefox / chrome中的工作方式:
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
</head>
<body>
<form id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
<input type="file" name="photoimg" id="photoimg" />
</form>
<div id='preview'>
</div>
<script>
$('#photoimg').bind('change', function() {
$("#preview").html('');
$("#preview").html('<img src="img/loader.gif" alt="Upload in progress"/>');
$("#imageform").ajaxForm({
target: '#preview',
success: function() {
$("#preview img").attr("id", "uploaded_img");
}
}).submit();
});
</script>
</body>
</html>
为什么会发生这种情况的任何想法? 提前谢谢。
答案 0 :(得分:0)
好的,自从我发布问题以来已经有一段时间了,但这是最终对我有用的:
我刚刚在应用程序的基本设置(基本信息部分)中将我的域名添加到“App Domains”,并且工作正常!
答案 1 :(得分:-1)
如果您从安全页面(https)进行ajax调用,IE将显示错误 到非安全页面或副本。
确保所有网址,网址网址和ajax网址都具有相同的安全性。