找不到JSON密钥

时间:2013-06-21 20:16:33

标签: javascript jquery ajax json

我的问题是我必须按以下格式POST一个JSON对象:

{ "key1": "value1",
  "key2": 2,
  "options": {
               "content": "lorem ipsum"
             }
}

但我一直收到内部服务器错误:未找到密钥'选项'。 这是我的js代码:

$("#button").click(function(){
var json_test = { 
      "key1": "value1",
      "key2": 2,
      "options": {
                   "content": "lorem ipsum"
                 }
    }
    $.ajax
    ({
        type: "POST",
        url: '/test/url/',
        dataType: 'json',
        data:json_test
    })
});

这也是Firebug的POST内容:

element_type    Text
learning_page   1
options[content]    lorem ipsum

我显然做错了什么,但我无法弄清楚它是什么。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我不确定,但你可能会错过字符串化json

$("#button").click(function(){
var json_test = { 
      "key1": "value1",
      "key2": 2,
      "options": {
                   "content": "lorem ipsum"
                 }
    }
    $.ajax
    ({
        type: "POST",
        url: '/courses/api/elements/',
        dataType: 'json',
        data:JSON.stringify(json_test)
    })
});

还尝试添加

contentType: "application/json; charset=utf-8"

到你的jquery选项