我正在尝试在我的 asp.net 页面中实现 Jquery AJAX。我应该将我的 $.post 或 $.ajax 放在我的脚本中的什么位置。
问问题
635 次
1 回答
2
您不一定需要将 $.post 和 $.ajax 调用放在 document.ready 回调中。仅当您想将某些属于 DOM 的值作为参数传递时,您才需要这样做。但是,如果您发送的所有值都不依赖于 DOM,那么您可以在加载 DOM 之前完美地触发 AJAX 请求。唯一的限制是该脚本需要放在 jquery.js 脚本脚本包含之后。例如,您可以在<head>
没有任何 document.ready 的页面部分中放置以下脚本:
<head>
...
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$.post('/some_script.cgi', { foo: 'bar' }, function(result) {
alert('success');
});
</script>
</head>
但是如果你想传递一些属于你的 DOM 的值,那么你需要包装在一个 document.ready 中:
<head>
...
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
// Here you are accessing the DOM to get the value of the
// #some_element_id so you need to place your script in a
// document.ready
var value = $('#some_element_id').html();
$.post('/some_script.cgi', { foo: value }, function(result) {
alert('success');
});
});
</script>
</head>
如您所见,这完全取决于您的具体情况,但 $.post 和 $.ajax 方法根本不需要放在 document.ready 回调中。
于 2013-09-15T16:38:38.437 回答