gpt4 book ai didi

php - AJAX、PHP 变量和我

转载 作者:行者123 更新时间:2023-12-01 04:42:08 26 4
gpt4 key购买 nike

我正在学习如何使用 AJAX,我制作了 4 个文件:

header.php
page1.php
page2.php
footer.php

我的标题包含类似 body , html , head和事情。而我的页脚,</body> ...
我需要制作一个通过 AJAX 调用 page1.php 的导航栏,但是如果用户直接访问 page1.php,页眉和页脚会发生什么;-;?
我尝试用 PHP 来做这两件事:

header.php:

<? $a = 1 ?>

page1.php:

<? if ($a != 1){include 'includes/header.php';} ?>

但是即使 $a 等于 1,page1 也会继续调用 header!!!!!!

我也在page1.php中做了这个:

<? echo $a ?>

你猜怎么着?是的...它返回 1...

header.php 中的 AJAX 代码:

$(function() {
$('nav a').click(function(e) {

e.preventDefault();
var href = $(this).attr('href');

$('#content').html('Downloading...');

$.ajax({
url: href,
type: 'GET',
error: function(){
// always good to have an error handler with AJAX
},
success: function(data){
$('#content').html(data);
}
});

// HISTORY.PUSHSTATE
history.pushState('', 'New URL: '+href, href);
// e.preventDefault();


});

哈普!

最佳答案

如果 page1.php 使用 AJAX 加载,则无法计算 header.php 中声明的 $a 变量,因为 page1.php 中的所有 PHP 代码在响应返回到 header 页面之前都在服务器端执行。但是您可以将变量作为参数与 url 中的请求一起传递

var href = $(this).attr('href')+'?a='+'<?php echo $a; ?>';

这将传递一个值为 $a 的参数,其 url 如下所示://page1.php?a=1

在 page1.php 中,您可以检查此变量是否未传递(意味着 header.php 没有请求该页面):

if (!isset($_GET['a'])){
include 'includes/header.php';
}

关于php - AJAX、PHP 变量和我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35472692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com