我在用于AJAX的PHP文件中是否需要doctype和其他HTML标记?

问题描述:

I am using AJAX in my dynamic website. Instead of reloading a whole page, I used AJAX to request PHP file, and change the content of the page.

Is it OK to take away doctype and tags from those PHP files that requested by AJAX? Will I get any errors in future, if I leave doctype and tags from PHP...

Thank.

我在动态网站中使用AJAX。 我没有重新加载整个页面,而是使用AJAX来请求PHP文件,并更改了页面的内容。 p>

从那些请求的PHP文件中删除doctype和标签是否可以 AJAX? 如果我从PHP中留下doctype和标签,我将来会遇到任何错误... p>

谢谢。 p> div>

Scenario 1

If the "page" is actually a fragment that is being inserted dynamically into a complete document, you don't need those tags (in fact, they would be invalid).

<!DOCTYPE html>
<head></head>
<body>

    <div></div>
    <!-- fine to insert a fragment here -->
</body>
</html>

Scenario 2

If the page needs to stand alone, it must be complete and valid. Even if it displays correctly, it has the potential for major issues.

Scenario 3

If the PHP page is just serving data (e.g. JSON) in response to an AJAX request, it doesn't need any HTML markup at all (@Sean Dunwoody demonstrates this).

Do you mean you have a PHP file and you're making an ajax request to it - say for example getting more information about a user using a get request, e.g.:

http://www.example.com/ajax/userInfo.php?id=4

And your PHP code may look like this:

$userId = $_GET['id'];

$currentUser = new user($userId);
$user->printDetails;

(I hope this all makes sense)

If that is the case, then no, you do not need a doctype or <html><head> elements in the file.

I hope I've understood you're question correctly, let me know if not.