通过ajax将参数传递给php

通过ajax将参数传递给php,php,ajax,Php,Ajax,我知道这是一个非常基本的问题,但我不知道如何修复代码,即使在过去1小时的网络爬网之后。 我有一个无序的列表,其中包含数据库中类别的信息,cat_id是主键。还有一个主题表,它的外键是cat_id,因此我想通过ajax请求访问给定类别id的主题表。下面是我用来生成类别的代码。我陷入困境的地方是,我不知道为了发送url参数中的唯一id,要获取哪个DOM元素。。 谢谢 <ul id="search_form"> <?php $cat = Categ

我知道这是一个非常基本的问题,但我不知道如何修复代码,即使在过去1小时的网络爬网之后。 我有一个无序的列表,其中包含数据库中类别的信息,cat_id是主键。还有一个主题表,它的外键是cat_id,因此我想通过ajax请求访问给定类别id的主题表。下面是我用来生成类别的代码。我陷入困境的地方是,我不知道为了发送url参数中的唯一id,要获取哪个DOM元素。。 谢谢

    <ul id="search_form">
       <?php
       $cat = Category::find_all();
       foreach($cat as $category) {
           echo '<li id="';
           echo $category->cat_id;
           echo '"><a href="subject.php?id=';
           echo $category->cat_id;
           echo'">';
           echo $category->category;
           echo '</a></li>';

       }

       ?>
    </ul>
    <div id="results">
        <!-- ajax contents goes here -->
    </div>
还有subject.php

    <?php 
    //include("tpl/header.php");
    include("includes/initialize.php");
    ?>
       <h2></h2>
        <?php
            if (isset($_GET['id'])) {
                $id= mysql_real_escape_string($_GET['id']);
                $subject = Subject::find_subject_for_category($id);
                foreach($subject as $subj) {
                    echo $subj->subject_title;
                }
            } else {
                echo "No ID Provided";
            }
        ?>

我用Jquery做过这类事情,它对我来说很好

$.ajax({
  type: GET,
  url: "subject.php",
  data: {id: $('#search_form :selected').val()},
  success: function(result){
    // callback function
  }
});

嗯,我不熟悉jquery的东西。。成功时我应该调用哪个函数?它是一个回调函数,只有在ajax调用成功时才会触发。您可以编写代码或调用执行任务的其他函数,如果有的话,可以使用ajax调用返回的“结果”。它也可以留空。$(“#搜索表单”)。单击(function(){$.ajax({type:GET,url:subject.php),数据:{id:$('#搜索表单:selected').val(),success:function(result){$(“#result”).html(result);//回调函数}});}如果你不熟悉jQuery,你首先需要包括jQuery库,在你的脑子里包含我以前没有编码过的jQuery,但是我在我的客户网站上使用了很多插件。但是现在是时候学习它了。硬编码id变量以获得异步响应
$.ajax({
  type: GET,
  url: "subject.php",
  data: {id: $('#search_form :selected').val()},
  success: function(result){
    // callback function
  }
});