0

私はこのajax-postを持っています:

$.ajax({
  url: Config.Proxy + "ContentPages.aspx?t=save",
  type: "POST",
  contentType: "application/x-www-form-urlencoded",
  data: {
    content: content,
    id: currentPageId,
    active: "true",
    subject: $('#txtSubject').val(),
    webid: webid
  },
  success: function (data, status) {
    // do something
  },
  error: function (xhr, desc, err) {
    // Do something
  }
});

.NET ページに投稿するので、デバッグ モードを使用して、データが正しく送信されているかどうかを確認できます。上記と同じコードを別のページ (他の URL、他のデータ) に使用します。

アプリケーションを実行してデータを保存すると、デバッグ モードになりません。他のページに同じコードを使用すると、正常に動作します。

両方のコードを比較しようとしましたが、同じです。一部のデータ項目を削除しましたが、まだ機能しません。

なんで?誰でも私にヒントを与えることができますか?

ありがとう

  • 編集 * なぜこれが起こっているのか知っています: CKEditor. 変数「コンテンツ」を CKEditor のコンテンツに設定し、ポストコールを使用するとすぐに、デバッグ モードは呼び出されなくなります。コード ビハインドのフォーム キーも 0 です。問題は、これを修正する方法です。
4

1 に答える 1

0

私の元の投稿の編集で言ったように:問題はCKEditorの内容によって引き起こされました。HTMLはAJAX投稿でパーサー/ロード/call-it-what-you-wantではないと思います。それで、少しの助けを借りて(そしてコードビハインドを投稿せずに、それは問題とは何の関係もありませんでした)私はそれを理解しました:

var content = escape(CKEDITOR.instances.editor1.getData());

変数「content」を投稿のデータセクションに入れて、出来上がり!それは魅力のように機能します。

コードビハインドの受信.NETページで、値をデコードします。

(HttpUtility.UrlDecode(Request.Form.Get("content").NullSafeString())

とにかくありがとう

于 2012-07-07T10:55:32.440 に答える