私はjqueryとajaxを使ってコメントシステムを作ろうとしていますが、あまりにも頻繁に投稿しているときにcaptchaイメージを入力する必要があることがあります。バックエンドのスクリプトは、ユーザーがキャプチャを入力する必要があることを伝えるとき、私は開くには、このボックスをトリガしていますjquery ajax投稿は1つ以上の変数を返すことができますか?
私はjqueryのためfaceboxプラグインを使用していますが、ポップアップの種類]ダイアログボックスで、
は、それはその後、ポップアップ表示します画面にphpのcaptchaファイルを読み込みます。
これは私が問題を抱えている場所です。キャプチャを開くだけでなく、隠しフォームフィールドのようにこのボックスにコメントを入力する必要があります。そのため、ユーザーが正しいキャプチャコードを入力すると、コメントを投稿します。それ以外の場合は、キャプチャを承認してから何も起こりませんので、コメントを投稿する必要があります。また、彼らがcaptchaを間違って取得した場合、私は最初の部分を働かせることができれば、それはまだ簡単にそこにコメントを持って再度captchaをリロードする必要があります。
ここまではこの部分のコードですが、誰も助けてくれますか?
$.ajax({
type: "POST",
url: "process.php",
data: args,
cache: false,
success: function (data) {
// there was an error so we will show an error message
if (data == 'error') {
alert(data);
//we need the user to submit a captcha to post there data
} else if (data == 'captcha') {
jQuery.facebox(function() {
jQuery.facebox({
ajax: 'captchabox.php'
})
})
//everything is all good, let post there comment
} else {
$('#comments').prepend(data);
$(this).remove();
})
};
// remove loading image
$('#load').fadeOut();
}
});
[OK]を音を。だから私の処理スクリプトでは、PHPでjson_encodeを使うことができるので、json文字列としてjqueryに送り返します。ここでは、それを自分の変数に戻す必要があります。 – JasonDavis
ここでプラグインを使うことができます:http://json.org/json2.js - これは実際のjQueryプラグインではなく、John Resig(jQueryの作成者)が使っているものです。 – Fooberichu