【问题标题】:Getting blank AJAX data from MediumEditor div从 MediumEditor div 获取空白 AJAX 数据
【发布时间】:2015-09-18 03:18:09
【问题描述】:

我最初有一个<textarea name="userWords">,它正确地触发了一个 jquery 调用并发送了数据。但我需要更好的文本编辑,所以我尝试使用 MediumEditor 而不是 textarea。我有以下html:

<form method="post" action="/userWords" enctype="multipart/form-data"  data-id="{{uniqueId}}" id="{{uniqueId}}-userWords">
    <div name="userWords" id="ThisBox" class="editable" contenteditable="true"></div>
</form>

以下 AJAX 曾经与 textarea 一起工作,但现在不再工作:

 var Id = $(this).data('id');
 var data = new FormData($("#" + Id + "-userWords")[0]);

        var ajaxOptions = {
            url: '/userWords',
            data: data,
            cache: false,
            contentType: false,
            processData: false,
            type: 'POST',
            success: function(res) {
              //...do stuff
            }
        };

        $.ajax(ajaxOptions);

基本上,数据为空。我有什么遗漏吗?

【问题讨论】:

  • 尝试使用 json 而不是 FormData?
  • 根据 git doc 你需要 div 和 textarea
  • @BuddhiAbeyratne:我认为“如果你想使用&lt;textarea&gt;,这就是 MediumEditor 的处理方式”。我认为您可以使用&lt;div contenteditable="true"&gt; 代替&lt;textarea&gt;
  • 当您阅读冗长无聊的文档时会发生很多事情:3

标签: jquery ajax medium-editor


【解决方案1】:

尝试以下方法:

 var textdata = $('#'+ThisBox).val();
 var my_object = {"ThisBox": textdata};

        var ajaxOptions = {
            url: '/userWords',
            data: my_object,
            cache: false,
            contentType: false,
            processData: false,
            type: 'POST',
            success: function(res) {
              //...do stuff
            }
        };

        $.ajax(ajaxOptions);

【讨论】:

  • 我做了一些小的更正,让它工作了!我不得不使用“id”标签而不是名称标签来调用,并且我将 .value 更改为 .val()。我在您的回答中做了一些小的修改以反映这一点。
  • 哦,很高兴为您提供帮助 :) 我正在考虑其他想法但失败了,所以这就是为什么我没有在您的第一条评论中提供更多答案。任何可以帮助你的方法
猜你喜欢
  • 2019-11-08
  • 2021-07-24
  • 1970-01-01
  • 1970-01-01
  • 2013-10-01
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 2023-04-11
相关资源
最近更新 更多