使用JQuery,AJAX和PHP

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中的最佳方法是什么?

感谢您的任何反馈.

Seb*_*eit 9

在success函数中,放入$('#contents').html(html); 而不是负载.