我可以在jquery中的Document.READY()函数中使用$ .Post

时间:2013-09-15 16:37:12

标签: jquery

我正在尝试在我的asp.net页面中实现Jquery AJAX。我应该将$ .post或$ .ajax放在我的脚本中。

1 个答案:

答案 0 :(得分:2)

您不一定需要在document.ready回调中放置$ .post和$ .ajax调用。只有当您想要将某些值作为参数传递给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回调中。