ajax post不发送数据

时间:2012-07-07 10:00:14

标签: c# jquery asp.net post ckeditor

我有这个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页面上发帖,所以我可以使用调试模式来检查数据是否正确发送。 我使用与上面相同的代码用于不同的页面(其他网址,其他数据)。

当我运行应用程序并保存数据时,我没有进入调试模式。当我为其他页面使用相同的代码时,它可以正常工作。

我试图比较两个代码,但它们是相同的。我删除了一些数据项,但它仍然无效。

为什么呢?谁能给我一个提示?

由于

  • 编辑* 我知道为什么会这样:CKEditor。只要我将变量“content”设置为CKEditor的内容并使用后调用,就不再调用调试模式。代码隐藏中的表单键也是0。 现在的问题是如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

就像我原来帖子的编辑中说的那样:问题是由CKEditor的内容引起的。我认为HTML不是解析器/加载/在AJAX帖子中调用它你想要的东西。 所以,在一点帮助下(并且没有发布代码隐藏,这与问题无关)我明白了:

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

把变量"内容"在帖子的数据部分和瞧!它就像一个魅力。

在代码后面的接收.NET页面上,解码值:

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

非常感谢