通常、メッセージなどの動的生成HTMLページを出力するPerlスクリプトを実行する既存のコードを更新しようとしています。 a div
は、新しいページにユーザーを送信するのではなく、Perlファイルの出力を使用します。PerlでjQuery ajax()を使用すると、成功時にフリッカーが発生する
私はこれを行うための最善の方法を見つけようとしています。 Perl側でこれを行う方法を見つけられなかった後、私は今jQuery ajax()
を見ています。ここで
たPerl:
#!/usr/bin/perl
# =====================================================================
print "Content-type: text/html \n\n";
print "<p>Hello</p>";
HTML:
<form id="myForm" action="#">
<input type="submit" value="click me" />
</form>
<div id="message"></div>
jQueryの/ JavaScriptを:
012私はボタンをクリックすると<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#myForm').submit(function() {
$.ajax({
type: 'POST',
url: '/cgi-bin/myPerl.cgi',
async: false,
success: function(data) {
$('#message').html(data);
}
});
});
});
</script>
1)、#message
div
は第二のためのメッセージが点滅し、それがブランクになります。なぜそれが起こっているのですか?これが私の主な質問です。私も完全にthe documentationの私の読書にもかかわらず、.ajax()
のすべての設定を理解していない
:
2)私はasync: false
を使用する場合にのみそうtrue
か、この設定を除外して、すべてで動作しますが、私が取得a "リソースの読み込みに失敗しました"エラー。誰かが説明できますか?
3)これを行うより良い方法はありますか? PHP?私はちょうどdiv
をPerlファイルから来るメッセージで動的に更新し、ページのリフレッシュや新しいページを避けるだけです。
Doh!私は完全に理解しているはずです。ありがとうございました...それを修正しました。私の質問の他の部分についての考えは? – Sparky
これは#1と#2が固定されているはずです。私はあなたが#3で意味することは肯定的ではありません –
また、 'async:false'はもう必要ありません。 –