私のコードは
data1 = "";
$('#send').click(function(){
var post = $(this).val();
$.post('post.php',{post:post},function(data){
data1 = data;
});
$(this).val(data1);
});
$ .post関数を実行する前に、関数.clickのすべてのプロセスが実行されているようです。誰か助けてくれませんか。
.post()
は非同期です。つまり、バックグラウンドで実行され、その後の関数の実行をブロックしません。data1 = data
が設定される前に、$(this).val()
はすでに呼び出されています。
関数のコールバックdata
に依存するすべてをコーディングしてみてください。$.post()
$('#send').click(function() {
$.post('post.php', {
post: $(this).val()
}, function(data) {
$('#send').val(data);
});
});