【问题标题】:jquery not posting contents of json mapjquery没有发布json地图的内容
【发布时间】:2017-11-15 10:58:55
【问题描述】:

鉴于这个使用 jquery 的非常简单的 ajax 帖子

function addEntity(parent, entity, successCallback, errorCallback ) {

    console.log("add entity:", JSON.stringify(entity));

    $.ajax( '/service/v3/rest/' + parent.id, {
        type: 'POST',
        dataType: 'application/json;',
        contentType:"application/json; charset=utf-8",
        data: JSON.stringify(entity),
        success: successCallback,
        error:errorCallback

    });
}

注意与数据字段中使用的相同的控制台日志:

console.log("add entity:", JSON.stringify(entity));

输出我期望帖子正文包含的内容:

add entity: `{"name":"some name","execute":false,"listeners":{"foo":"bar"}}`

这对于我正在尝试做的事情是完全正确的。

实际发布的内容(通过 Charles Proxy 看到):

{
    "name": "some name",
    "listeners": {}
}

为什么 jquery 会删除我的地图内容?

【问题讨论】:

  • 它不会被 Javascript 删除。这里还有其他东西在起作用。
  • 感谢 - 将其添加到 ajax:processData: false,
  • dataType: 'application/json;', 应该是dataType: 'json'
  • 谢谢 - 我在玩 dataType 但它似乎没有什么不同 - processData: false 成功了。如果有人想对此发表解释作为答案,我很乐意接受。

标签: javascript jquery json ajax


【解决方案1】:

这神奇地使我的帖子包含了地图:/

function addEntity(parent, entity, successCallback, errorCallback ) {

console.log("add entity:", JSON.stringify(entity));



 $.ajax( '/service/v3/rest/' + parent.id, {
        type: 'POST',
        dataType: 'json',
        contentType:"application/json; charset=utf-8",
        processData: false,
        data: JSON.stringify(entity),
        success: successCallback,
        error:errorCallback

    });
}

【讨论】:

    猜你喜欢
    • 2018-03-12
    • 2014-04-26
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2012-09-21
    • 2021-04-30
    • 2021-01-06
    • 1970-01-01
    相关资源
    最近更新 更多