对不起,这看起来比它可能更长,但我想我应该包括所有信息!
我正在使用一个简单的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)
| 归档时间: |
|
| 查看次数: |
5470 次 |
| 最近记录: |