【问题标题】:how to set jquery ajax post data [closed]如何设置jquery ajax发布数据[关闭]
【发布时间】:2019-02-11 10:25:36
【问题描述】:

我是 JavaScript 的初学者,所以我需要帮助。

我有一些带有按钮的 HTML:

<div class="row">
        <div class="col-lg-1 offset-lg-1">
            <div class="profile-photo">
                <object data="image/avatar.svg" type=""></object>
            </div>
        </div>
        <div class="col-lg-10">
            <div class="text-area-comments">
                <textarea name="post-comments" maxlength="255" id="post-comments" rows="3" placeholder="Your Message" required=""></textarea>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-lg-11 offset-lg-1">
            <div class="button-post-comment text-right">
                <button class="btn btn-warning text-muted" type="submit" id="send">Send</button>
            </div>
        </div>
    </div>

现在我需要将新评论从页面发布到后端。

$("#send").click(function() {
  $.ajax({
    url: '***',
    type: 'POST',
    dateType: 'json',
    data: {
      "text": $("#post-comments").val(), "parent": null,
      _method: 'POST'
    },
    success: function(data){

    }
  });
});

谁能帮助我——我接下来要做什么?

【问题讨论】:

  • 很难告诉你 100% 正确的代码,因为我们不知道你的后端参数
  • 而你希望这部分 $("#send").click(function() { // Ajax call here }); 像这样,而不是其他方式。
  • 参数:内容 - 文本父级 - 父级评论的 ID 或 NULL @CarstenLøvboAndersen
  • 我正在编辑我的问题代码你喜欢什么悲伤@Adriani6
  • 在这种情况下,它将类似于data: { "text": $("#post-comments").val(), "parent": null }。您的 HTML 上没有用于父评论 ID 的空间,所以我不知道您从哪里获取此值。设置数据项是相当基本的。 api.jquery.com/jquery.ajax(靠近底部)有一些示例已经向您展示了格式。

标签: javascript jquery ajax post backend


【解决方案1】:

根据http://frontend-test.pingbull.com/ 的 API 规范,您设置了错误的字段名称。您的字段应称为“内容”,而不是“文本”。你需要更加关注细节。它说:

请求:POST http://frontend-test.pingbull.com/pages/YOUR E-MAIL/comments

参数:

  • 内容 - 文字

  • parent - 父评论的 ID 或 NULL

$("#send").click(function() {
  $.ajax({
    url: 'http://frontend-test.pingbull.com/pages/you@yourdomain.com/comments',
    type: 'POST',
    dataType: 'json',
    contentType: 'application/json',
    data: {
      "content": $("#post-comments").val(),
      "parent": null
    },
    success: function(data) {
      console.log(JSON.stringify(data));
    }
  });
});

特别注意"content": $("#post-comments").val()。您还有一个错字dateType,我已将其更正为dataType

这是一个工作演示:http://jsfiddle.net/extmnzw5/10/

附:我意识到 text/cmets 混淆部分是我的错 - 我建议使用 text 作为示例。您在 cmets 中给出的规范措辞格式不正确,因此不清楚。最好让我们从一开始就访问完整的规范。

【讨论】:

  • 非常感谢 - 你真的帮助了我......我必须更多地学习这个 - 我还有一个问题 - 你可以为其他人编辑 URL 到 **** 吗?
  • @ПавелИгоревич 我可以,所以不太明显,但任何人都可以查看问题的历史(通过单击“x 分钟前编辑”链接)或答案并查看它。不幸的是,从您在问题中发布 URL 的那一刻起,它就永久公开了。解决它的唯一方法是删除整个问题。即使那样,具有足够高声誉的用户也可以看到已删除的问题,尽管它们不再出现在搜索等中
猜你喜欢
  • 1970-01-01
  • 2021-07-30
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
  • 1970-01-01
  • 2013-10-06
相关资源
最近更新 更多