0

我的问题是我必须以以下格式发布 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

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

4

1 回答 1

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 选项

于 2013-06-21T20:19:29.870 回答