我正在使用jQuery Ajaxy插件:http://balupton.com/projects/jquery-ajaxy
有没有办法为每个Ajaxy请求添加POST参数?
答案 0 :(得分:12)
您可以使用$.ajaxSetup()
设置默认选项 - 包括(GET / POST)数据。
$.ajaxSetup({
data: { foo: 'bar' }
});
这些数据将与$.ajax()
来电中指定的数据合并。
$.ajax({
type: 'POST',
url: '/test',
data: { abc: 123 },
success: function(resp) { }
});
这将同时发送foo
和abc
。
您还可以将其他选项(例如type: 'POST'
)移动到默认值中,这样您就不必每次都指定它。
答案 1 :(得分:2)
根据http://visualjquery.com你也可以这样:
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
答案 2 :(得分:1)
最好的方法之一是使用$.param()
- 一个简单的例子 - 使用投票系统来评论评论的上/下;
<div class="comment_container">
<div class="vote_container" comment_id="321">
<a href="javascript:" class="vote vote_up">Up +1</a>
<a href="javascript:" class="vote vote_down">Down -1</a>
</div>
<p>Hello, this a comment!</p>
</div>
<script type="text/javascript">
$('.vote').click(function() {
var voteUpOrDown = $(this).hasClass('vote_up') ? 1 : 0;
var id = $(this).parent().attr('comment_id');
$.ajax('/form/rating', {
type: 'post',
data: $.param({ vote: voteUpOrDown, id: id }),
success: function(data) { }
});
});
</script>