2016-11-21 62 views
1

这里我的动态脚本动态值:如何发送用ajax

<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>标签。

+1

你可以用HREF的JavaScript,就像'Reject And Delete)“' –

+0

会的工作刷新页面,我怎样才能得到答复,无论是成功或不 –

+2

@CrisimIlNumenoreano你可以,但请不要。这不是90年代以上。使用不显眼的事件处理程序 –

回答

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数据作为文章。

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> 

然后附上点击事件链接ainv-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 
     } 
    }); 
}) 

希望这有助于。

+0

'Delegated-events' ?为什么? – Rayon

+1

正确,更新了我的回答,恭喜你的介入。 –

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 
     } 
    }); 
}