0

私は AJAX の経験があまりないので、いくつかのツールを使用して、それらを統合およびカスタマイズしようとしています。まず、これは AJAX フォームを使用して投稿を送信する wordpress サイトです。それはすべてうまくいきます!もちろん、WYSIWYG エディターをミックスに追加する必要があり、html コンテンツを適切に送信する方法を理解する必要があります。

送信コードは次のとおりです。

jQuery("form.pfs").submit(function() {
  // vvv I ADDED THIS LINE!!! vvv
  jQuery('textarea#postcontent').val(jQuery('div.workzone iframe').contents().find('body').html());
  jQuery(this).ajaxSubmit({
    type: "POST",
    url: jQuery(this).attr('action'),
    dataType:'json',
    beforeSend: function() {
      jQuery('.pfs-post-form #post').val('posting...');
    },
    complete: function(request,textStatus,error) {
      data = jQuery.parseJSON(request.responseText);
      if (data && data.error) {
        jQuery('#pfs-alert').addClass('error').html('<p>'+data.error+'</p>').show();
        jQuery('.pfs-post-form #post').val('Post');
      } else {
        jQuery('form.pfs').reset();
        location.reload();
      }
    }
  });
  return false;
});

ご覧のとおり、WYSIWYG (http://elrte.org/) で HTML のコンテンツを取得し、それを元のテキストエリア (#postcontent) の値として設定する最初の行を追加しました。 )。

エラーが発生した場合、AJAX は完全に機能するため、エラーをスローしているのはルーチンの「else」部分のみです。

Uncaught SyntaxError: Unexpected token < jquery.js:2
e.extend.parseJSON jquery.js:2
jQuery.submit.jQuery.ajaxSubmit.complete pfs-script.js:31
F

ご覧のとおり、悪意のあるコード (このヘルプ リクエストの一部ではありません!!) を検証する必要がありますが、もっと重要なのは、フォームの投稿で HTML を受け入れられるようにすることだけです。アイデア?何がどこで失敗しているのかを 100% 理解しているとは言えません...

4

1 に答える 1

0

別のプラグインとの競合があったことが判明しました。request.responseText をトレースすると、それが明らかになりました。このコードは問題なく動作します。

于 2012-07-25T20:46:58.240 に答える