如何使用ajax发送动态值

时间:2016-11-21 11:18:17

标签: javascript php jquery ajax dynamic

这是我的动态脚本:

<a href="inv-controller.php?res=yes&id_job=<?=$myjobs['id_job'];?>" class="btn btn-primary">Accept And Send Invite To All Students</a>
<a href="inv-controller.php?res=no&id_job=<?=$myjobs['id_job'];?>" class="btn btn-default">Reject And Delete</a>

从以上两个链接有两个动态参数我想用ajax调用发送怎么办呢?

有两个按钮接受并拒绝。 我可以用核心php做到这一点,我想这样做而不刷新页面。

这是我尝试过的。

<script type="text/javascript">
    function jobResponse(jobId){
        var jobid = $(jobId).attr('id');  // im confusing in this line
        $.ajax({
            method: "POST",
            url: 'inv-controller.php',
            data: {action: "jobreplay", value: jobid},
            dataType: "json",
            success: function(response) {
                //blah blah blah
            }   
        });
    }
</script>       

如何根据ajax重写两个<a>标签。

3 个答案:

答案 0 :(得分:3)

<a href="javascript:;" class="btn btn-primary" onclick="jobResponse("yes",<?php echo $myjobs['id_job'];?>)">Accept And Send Invite To All Students</a>
<a href="javascript:;" class="btn btn-default" onclick="jobResponse("no",<?php echo $myjobs['id_job'];?>)">Reject And Delete</a>

并获得这样的功能

function jobResponse(type,jobId){

var frm_data = { type : type,
                 jobId : jobId
                }
    $.ajax({
        method: "POST",
        url: 'inv-controller.php',
        data: frm_data,
        dataType: "json",
        success: function(response) {
            //blah blah blah
        }   
    });
}

你可以进入你的ajax php文件。 frm data as post。

答案 1 :(得分:2)

最好使用data-*属性,例如:

<a href="inv-controller.php" data-res="yes" data-job-id="<?=$myjobs['id_job'];?>" class="btn btn-primary inv-controller">Accept And Send Invite To All Students</a>
<a href="inv-controller.php" data-res="no" data-job-id="<?=$myjobs['id_job'];?>" class="btn btn-default inv-controller">Reject And Delete</a>

然后将点击事件附加到带有a课程的链接inv-controller

$('a.inv-controller').on('click', function(e){
  e.preventDefault();

  var res = $(this).data('res');
  var job_id = $(this).data('job-id');
  var url = $(this).attr('href');

  $.ajax({
      method: "POST",
      url: url,
      data: {action: "jobreplay", value: job_id},
      dataType: "json",
      success: function(response) {
          //blah blah blah
      }   
  });
})

希望这有帮助。

答案 2 :(得分:1)

你可以这样做,看看传递给它的参数jobId值:jobId

     <a href="javascript:jobResponse(<?=$myjobs['id_job'];?>)" class="btn btn-primary">Accept And Send Invite To All Students</a>


<script type="text/javascript">
function jobResponse(jobId) {
    $.ajax({
        method: "POST",
        url: 'inv-controller.php',
        data: { action: "jobreplay", value: jobId },
        dataType: "json",
        success: function (response) {
            //blah blah blah
        }
    });
}