2

我的代码是

data1 = "";

$('#send').click(function(){
   var post = $(this).val();

   $.post('post.php',{post:post},function(data){
      data1 = data;
   });

   $(this).val(data1);
});

似乎函数 .click 的所有过程都是在执行 $.post 函数之前执行的。有谁能够帮我。

4

1 回答 1

7

.post()是异步的,这意味着它在后台运行并且不会阻止其后函数的执行。在data1 = data设置之前,$(this).val()已经调用了。

data尝试对$.post()函数回调中依赖的所有内容进行编码:

$('#send').click(function() {
  $.post('post.php', {
    post: $(this).val()
  }, function(data) {
    $('#send').val(data);
  });
});
于 2012-04-09T04:00:46.773 回答