【问题标题】:PHP Ajax jQuery cross domain file loadingPHP Ajax jQuery 跨域文件加载
【发布时间】:2014-04-05 04:57:47
【问题描述】:

所以在你说这不能做之前。这些都是我有一台服务器的文件。我只是将其中一些列在不同的域下。

我的 PHP 脚本将访问所有文件,但是当我尝试执行 ajax 请求以尝试加载文件时,我经常会收到错误消息(因为我正在访问的站点是安全的,而我通过它访问的站点是't)。 我需要的是一种让 php 抓取文件的方法。但我需要 aJax 来检索文件并为我呈现它。我也在用ACE编辑器来编辑文件

我在这里的那段代码实际上也会出错,因为它会加载并打印出定义 $page 的文件,但不会加载 htmlspecialchars 所在的文件。

<script>
var e = ace.edit("editor");
<?php 
    $page = readfile($_SERVER['DOCUMENT_ROOT'].$_GET['dir']);
    echo 'e.setValue('.htmlspecialchars($page, ENT_QUOTES).');';
 ?>

</script>

我有一个 ajax 获取请求工作,但是当我转到一个包含特殊 htaccess 文件的目录时它不起作用。现在我无法更改 htaccess 文件(除非有办法让我确认这是我的脚本在运行,而不是其他人。

The question is,我怎样才能访问那些其他文件而不会出现该错误?请注意,这些文件可能是扩展名。它不仅限于脚本或 css,它们大多是 html 或 php 文件。

【问题讨论】:

    标签: javascript php jquery ajax ace-editor


    【解决方案1】:

    在 php.net 网站的深处搜索了一个小时后,我终于找到了一个可行的解决方案。

    <?php 
    echo htmlspecialchars(
     addslashes(
       file_get_contents(
         $_SERVER['DOCUMENT_ROOT'].$_GET['d‌​ir']
       ) 
      )
    ); ?>
    

    addslashes 是我需要的额外部分。然后我还不得不把它放在编辑器的 div 之间。我无法使用editor.setValue() 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 2016-03-07
      • 2011-03-31
      • 2013-06-04
      • 2015-10-06
      • 1970-01-01
      相关资源
      最近更新 更多