Pik*_*Man 3 javascript php ajax jquery
我正在创建一个PHP站点,并遇到了以下问题,我希望能够单击页面上的超链接,将一个小数据项发送到php脚本,让脚本执行其功能,然后返回结果.
我在这个站点上使用AJAX将每个页面加载到站点的div部分,所有页面,数据和响应都加载到这个中央div中,如下所示:
<html>
<body>
<div id="topMenuBar">
<div id="contents">
//ALL DATA IS LOADED HERE...//
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
因此,当从顶部菜单中选择页面时,我只需运行以下代码:
$('#topMenuBar a').click(function(e)
{
e.preventDefault();
$('#contents').load($(this).attr('href'), function()
{
});
});
Run Code Online (Sandbox Code Playgroud)
现在页面加载到内容部分,我正在加载一个名为"results.php"的页面,它连接到数据库,查询它,并创建一个带有结果的HTML表.每个表行都有一个小的超链接,当点击它时,它意图将值发送到另一个PHP脚本,然后清除内容div,然后使用此脚本的响应重新填充div(getInfo.php).例如,一行将具有以下PHP代码生成链接:
<label class="moreInfo"><a name="test01" onClick="getInfoFromPHP(<?php echo $data[$id]; ?> )">Get Info</a></label>
Run Code Online (Sandbox Code Playgroud)
因此当表格由PHP生成时,点击时链接会传递JS函数的值.
我现在需要做的是将值发送到PHP脚本,该脚本将再次查询数据库,并将结果插入"contents"div.我一直在尝试以下功能.
function getInfoFromPHP(myVar){
var netID = myVar;
$.ajax({
url: "getInfo.php",
type: "POST",
data: {
networkID: netID
},
success: function(html) {
$('#contents').empty();
$('#contents').load(html);
}
});
};
Run Code Online (Sandbox Code Playgroud)
当我调用该函数时,它似乎确实将数据发送到脚本但我从firebug得到以下错误:
POST http://127.0.0.1/private/networks/includes/leave_a_network.php - 200 OK -15ms
GET http://127.0.0.1/%3Ch2%3EHello 403 Forbidden 21ms"NetworkError:403 Forbidden - http://127.0 .0.1 /%3Ch2%3EHello "你好
PHP脚本仅执行以下操作:
<?php
session_start();
$networkID = $_POST['networkID'];
echo "<h2>Hello World</h2>";
?>
Run Code Online (Sandbox Code Playgroud)
将数据发送到PHP脚本并将其加载到div中的最佳方法是什么?
感谢您的任何反馈.