Ajax表单 - 图像上传|在ie中拒绝访问

时间:2012-01-10 22:10:29

标签: javascript ajax cross-domain html-form ajaxform

我正在创建一个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>

为什么会发生这种情况的任何想法? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

好的,自从我发布问题以来已经有一段时间了,但这是最终对我有用的:

我刚刚在应用程序的基本设置(基本信息部分)中将我的域名添加到“App Domains”,并且工作正常!

答案 1 :(得分:-1)

如果您从安全页面(https)进行ajax调用,IE将显示错误 到非安全页面或副本。

确保所有网址,网址网址和ajax网址都具有相同的安全性。