Ajax错误 - "权限被拒绝"

MrF*_*dge 2 php iis ajax

对不起,这看起来比它可能更长,但我想我应该包括所有信息!

我正在使用一个简单的Ajax脚本来动态地将内容带入页面上的<div>.将一些新内容加载到div中的第一个请求工作正常,但如果我刚刚加载的内容中有一个Ajax"后退"链接,则似乎会抛出错误.

更奇怪的是,它可以在我的办公室网络上运行,但它失败如果我在家里或VPN网络上.如果失败,则会在JavaScript调试器中弹出此错误:

Line: 12
Char: 11
Error: Permission Denied
Code: 0
URL: http://www.example.com/about.php
Run Code Online (Sandbox Code Playgroud)

代码真的不是那么复杂,它只是在W3网站上的一个有点被黑客攻击的版本,但返回调用被"拒绝"的事实令我感到困惑.是否可以在服务器IIS配置中停止脚本攻击?(随机思考?)

任何帮助赞赏;)

首先 - Ajax脚本

var myHttpRequest = false;
if(window.XMLHttpRequest)
     myHttpRequest = new XMLHttpRequest();
else if(window.ActiveXObject)
     myHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
function loadContent(source, content)
{
     if(myHttpRequest)
     {
          var data = document.getElementById(content);
          myHttpRequest.open("GET",source);
            data.innerHTML = '<div class=\"loading_image\"><img src=\"images/loading.gif\" width=\"54px\" height=\"55px\" alt="loading" /></div>';
          myHttpRequest.onreadystatechange = function()
          {
               if(myHttpRequest.readyState==4)
                    data.innerHTML = myHttpRequest.responseText;
                    $('#col2_2_content').supersleight();
          }
          myHttpRequest.send(null);
     }
}
Run Code Online (Sandbox Code Playgroud)

然后,这是一个截断的示例,该页面调用Ajax内容并具有col2_2_content Div,其中插入了所有内容.该文件ajax.js在head部分中引用.

<div id="col2_2_content">
    <div class="mugshot_container">
        <img src="images/mugshot_dh.jpg" onClick="loadContent('about/dh.php?ajax=yes', 'col2_2_content');"/>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是about/dh.php通过Ajax插入的代码,以及PHP格式,以决定应该返回什么.(它的设计也是直接调用的 - 在这种情况下它会得到一个页眉/页脚).

<?php
$home_url = "http://www.example.com/url/";
$content = "
    <p>Some Text</p>
    <p><a onClick=\"loadContent('$home_url/about/about-main.php?ajax=yes',  'col2_2_content');\">Back</a></p>
";
if (isset($_REQUEST['ajax']) ) {
    echo $content;
} else {
    include_once 'about-header.php';
    echo $content;
    include_once 'about-footer.php';
}
?>
Run Code Online (Sandbox Code Playgroud)

cha*_*aos 5

"许可被拒绝"听起来很可疑,好像你有同样的原始政策问题.