【问题标题】:POST JSON *in Request Body* using MooToolsPOST JSON *in Request Body* 使用 MooTools
【发布时间】:2011-12-27 22:39:47
【问题描述】:

我正在尝试在我的应用中的 URL 之间发布 JSON。接收 URL 需要请求正文中的 JSON,并以请求正文中的 JSON 作为响应。问题是我似乎无法使用 Mootools Request.JSON 在正文中发送 JSON。这就是我所拥有的:

// formObj is an object constructed from a form
var request = new Request.JSON({
    url: "/api/object.new",
    urlEncoded: false,
    onRequest: function(){
        // swap submit button with spinner
    },
    onComplete: function(jsonObj) {
        // work with returned JSON
    },
    body: JSON.encode(formObj)
});
request.setHeader("Content-Type", "application/json");
request.post();

服务器返回500错误:

BadValueError: Property name is required

这意味着request.name 正在返回None,这意味着服务器没有获取我的 JSON。

使用HTTPClient 将 JSON.encode(formObj) 的输出粘贴到正文字段中会产生所需的结果。

【问题讨论】:

  • 尝试,正文:"x=" + JSON.encode(obj)

标签: javascript json post mootools


【解决方案1】:

body 不是 Request 的有效 mootools 属性。请改用data: blah。就目前而言,数据是空的,所以难怪你在服务器端什么也得不到......

【讨论】:

  • 无论出于何种原因 data 之前没有工作,也许我搞砸了其他事情,但我得出的结论是 data 不等同于“身体”。抱歉,问了一个愚蠢的问题。
  • 这个“解决方案”不发布 JSON,只是发送一个标准的 POST 请求。
  • Request.JSON 不发布 JSON,它希望收到 JSON 作为回报,请求可以是简单的 GET。
猜你喜欢
  • 2021-02-15
  • 1970-01-01
  • 2016-11-17
  • 2022-12-01
  • 1970-01-01
  • 2013-03-11
  • 2017-05-19
  • 1970-01-01
  • 2020-06-26
相关资源
最近更新 更多