2010-05-01 82 views
2

试图发送POST请求点击事件使用jQuery没有运气。这里是我用的:jQuery单击事件发送POST请求

<script type="text/javascript"> 
     $('#taxi_update').click(
      $.ajax({ 
       'type':'POST', 
       'data':'id=17446&chru=0', 
       'success':function() { ... }, 
       'error':function(){ ... }, 
       'url':'/url/', 
       'cache':false 
      }) 
     ); 
    </script> 
    <a href="#" id="taxi_update">update</a> 

不幸的是,它不会发送任何POST请求。

任何建议这可能是错误的?

回答

16

因为你的脚本元素之前发生,它需要被包裹在一个document.ready事件和点击处理程序本身多是一个函数,就像这样:

$(function() { 
    $('#taxi_update').click(function() { 
    $.ajax({ 
     type: 'POST', 
     data: 'id=17446&chru=0', 
     success: function() { ... }, 
     error: function(){ ... }, 
     url: '/url/', 
     cache:false 
    }); 
    }); 
}); 

大多数时候,你会想你的代码在document.ready内,因为它正在寻找的元素可能不在那里/准备好,像这样:

$(function() { }); 
//or... 
$(namedFunction); 
//or... 
$(document).ready(function() { });