2009-06-23 7 views
0

私は伝統的な(非アヤックス)方法で提出する既存の申し込みフォームを持っています。いくつかのJavascriptをスプライスして、このフォームのデータの一部を使用して別のデータベースの他のフィールドにデータを入れることができます。この挿入にかなりの時間(1分)がかかる場合、AJAX呼び出しが戻るまでページがロックされますか?AJAXを使用して追加のスクリプトを処理する複雑な送信フォーム

<script language="javascript"> 
$(document).ready(function(){ 
    $("#setupform").submit(function(){ 
     doAJAXcallHERE(); 
    }); 
}); 
</script> 

は基本的に、私のWebページは、AJAX機能によって呼び出されるPHPページを処理するための分を引き継ぐ場合は停止に挽くために起こっているのですか?

ありがとうございます!

+0

「他のリクエストをサーバーしないのですか」という意味ですか? ? – karim79

答えて

1

要求が数秒以上かかるとしている場合は、おそらく必要があります:彼らは何度も何度もフォームを再送信しようとしていないので、呼び出しが行われた後

  • は、[送信]ボタンを無効にします。
  • 画面に何らかのメッセージを表示して、リクエストが処理中であることを知らせ、そこにハングアップするように依頼します。
  • animated indicatorというメッセージをメッセージとともに表示します。特に

これらの最後の2点は、ユーザーが何かは、舞台裏で起こっていることを認識していることを保証します。また、要求が長くかかることが予想される場合は、Webサーバーのタイムアウト設定が適切に調整されていることを確認してください。

0

すでに正しく回答されていますが、もう少し追加したいと考えています。をPHPページに追加するには、set_time_limit(0)で最大実行時間を設定する必要があります。 あなたのajax投稿スクリプトは最適化されていなければなりません。 特に、IE6には、ファイル&を投稿する際にajaxを使用してデータを送信するときに多くの問題があります。 私はしばしばあなたのようにIE6に問題がありました。ブラウザはそれ自体をブロックしていました。 複数のラジオボタンを直列化するための配列定義のためです。 他のすべてのブラウザはスクリプトで正常に動作しますが、IE6が停止するのを待って、&が待ちます... IE7が完璧に動作していても待ちます。

btw、それはあなたがJqueryを使用しているようだ... 私はmalsup.comでjquery blockuiプラグインを使用して助言する。 また、訪問者/クライアントに待機する必要があります。

関連する問題