Php 如何在AJAX站点中发送变量?
我创建了一个Ajax导航系统,但是当我想要发送一个变量时,我遇到了一个问题。 我有一个像这样的index.phpPhp 如何在AJAX站点中发送变量?,php,javascript,ajax,get,Php,Javascript,Ajax,Get,我创建了一个Ajax导航系统,但是当我想要发送一个变量时,我遇到了一个问题。 我有一个像这样的index.php <script src="navigation.js" type="text/javascript"></script> <div id="pageContent"></div> <a href="#page1">page1</a> <a href="#profile">prof
<script src="navigation.js" type="text/javascript"></script>
<div id="pageContent"></div>
<a href="#page1">page1</a>
<a href="#profile">profile</a>
这是load_page.php页面:
<?php
if(!$_POST['page']) die("0");
$page = $_POST['page'];
include('pages/'.$page.'.php');
?>
这就是问题所在:当我加载profile.php页面时,我希望通过GET查看值。。。例如:
<?php
$nome_utente = $_GET['user'];
if(!$_GET['user']) {
print 'Attention! You have to insert a username';
}
else
{
print $nome_utente;
}
?>
为此,我尝试更改index.php中的链接
<a href="#profile?user=test">profile</a>
但是这不起作用,因为load_page.php找不到“profile?user=test.php”页面。
要从index.php中的链接发送profile.php中的GET变量,我需要做什么?
我必须编辑JS或PHP代码?混合get/post变量被认为是不好的做法,但很容易做到:
function loadPage(url) {
url=url.replace('#','');
$.ajax({
type: "POST",
url: "load_page.php?user=whatever_you_want_here",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^---your 'get' query
另一种选择是将“user”参数添加到ajax数据行:
data: { page: url, user: whatever_you_want_here }
第一个将在$\u GET中提供“user”,第二个将在$\u POST中提供。请不要在标题中使用大写锁定。使用大写字母不会比格式良好的标题更吸引人。事实上,它可能会让你少一点,因为它经常被解读为叫喊。除了你为什么要这么做,你的脚本很容易受到xss&目录遍历/包含攻击
data: { page: url, user: whatever_you_want_here }