0

我对 AJAX 很陌生,所以如果这是一个愚蠢的问题,请原谅我:

我想用位于受保护文件夹中的 php 文件的内容更新 div,因此它只能包含在 php 文件中,但不能从浏览器中寻址。由于 JavaScript 是客户端,这意味着我不能调用它,对吧?

例如,我使用以下代码(包括 jQuery)获得了 index.php:

<script>
$("#content").load("includes/login.php");
</script>

其中#content 指的是一个div。这工作正常,但由于包含不应该是可访问的,它变得有问题。

然后我想我可以在可访问区域中放置类似“wrapper.php”的内容,然后根据您提供的变量包含特定的 php 文件。

这是处理这个问题的正确方法还是我做错了?

4

2 回答 2

0

I think the idea of a "wrapper.php" is right. If you want to use it for many files you could do something like this, checking if it is an AJAX call to prevent direct load of the file:

// wrapper.php
<?php
// Check if it is AJAX
if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])
AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') {
    $filename = $_GET['f'];
    include 'includes/'.$filename.'.php';
}

And then:

$("#content").load("wrapper.php?f=login");

But be carefull with this, because it may be insecure.

于 2014-03-17T17:07:46.207 回答
-1

如果你想偷懒,你可以通过加载整个页面load并解析内容以获取#content

jQuery 将按空格分割参数,并使用第二个元素作为整个页面内容的选择器。

$("#content").load("full/path/to/login #content");

没有仇恨,我说这是一种懒惰的方法。

于 2014-03-17T16:44:17.693 回答