//最初の return false は有効です
//2 番目の return false は無効です
理由は何ですか
世界只因有你2017-06-12 09:23:55
質問の最初のreturn false
は同期的に呼び出されるため、効果が確認できます;
$.post
メソッドは非同期で実行されるため、$.post
方法是异步执行的,因此在$.post
方法的回调函数里面return false
的时候,其实是生效了的,但是在执行这句代码的时候,$.post
外面的代码早就执行完成了,所以看不到效果而已。另外,在回调函数里面加这句代码并没有什么意义,因为即使是return
,也是退出当前执行的函数,即$.post
的回调函数,并不能阻止$.post
が $.post
メソッドのコールバック関数内にある場合に実際に有効になりますが、このコードを実行するとの場合、$.post
の外側のコードはすでに実行されているため、効果は表示されません。さらに、このコードをコールバック関数に追加することは意味がありません。return
ですら、現在実行中の関数、つまり $.post
のコールバック関数を終了するからです。 $.post
の外でのコードの実行を防ぐことはできません。
$.post メソッドのコールバック関数に$.post
请求成功之后执行的,那就把代码放到$.post
方法的回调函数里面去吧。例如题主如果本意想让alert('1111')
在请求成功后通过条件判断执行,那可以alert('11111')
配置する必要があるコードがある場合;
ここで被験者に対する同期と非同期について説明します。たとえば、被験者はコードを書いていて喉が渇いたので、水を沸騰させて飲みに行きます。このプロセスでは、サブジェクトはスレッドに相当します。サブジェクトが現在実行している内容は、喉が渇いたときに水を入れて沸騰させることです。心配する必要はありません。コードを書くには、水が調理されるまで待つだけで済みます。調理したら、取り出して自分で飲むだけです。対象のコードは上から順に実行され、$.post
就发送一个请求,请求的过程中外部的js还是继续执行(并没有等待$.post
请求返回结果),等到ajax请求返回了,再回调之前定义的回调函数。这里除了$.post
まで実行されると非同期で実行され、残りのコードが同期的に実行されます。
さらに、質問の正規表現は/^1[34578]d{9}$/g
漂亮男人2017-06-12 09:23:55
Return は現在の関数を返します。最初の戻りはクリック イベントのコールバック関数であり、2 番目の戻りは Ajax リクエストのコールバック関数です。当然、外部関数のコールバックは妨げられません。
学习ing2017-06-12 09:23:55
post の関数は非同期関数であり、リクエストが成功した後にのみ呼び出され、リクエストが正常に返されるまで、コードは実行され続けます。したがって、return false ステートメントは無効です。解決策は、$.post() の非同期関数内ではなく、非同期関数の外側に return false を置くことです。