java - JSON 格式化(通过 jQuery AJAX 发送 JSON 到 Java/Wicket 服务器)

标签 java jquery ajax json wicket

我正在使用 jQuery 将 JSON 发送到 Java 服务器,但我认为我的 JSON 一定是错误的。这是我的数据示例以及我如何发送它:

var lookup = {
    'name': name,
    'description': description,
    'items': [{
        'name': itemName,
        'value': itemValue
    }]
}

$.ajax({
    type: 'post',
    data: lookup,
    dataType: 'json'
});

我正在使用 Wicket 的 AbstractAjaxBehavior 来接收数据,并希望获得一个我可以解析的 JSON 字符串。当我得到传递的参数的 Map 时,键集如下所示:

items[0][name],
description,
name,
items[0][value],

显然,我可以轻松获取名称和描述的值,但是我的项目数组的键搞砸了。我确信这很简单,但我似乎一直在寻找解决方案。有什么建议么?谢谢!

最佳答案

你必须使用 JSON.stringify:

$.ajax({
    type: 'post',
    data: JSON.stringify(lookup),
    contentType: 'application/json',
    dataType: 'json'
});

您还应该将“application/json”指定为 contentType。默认情况下,jQuery 将使用 application/x-www-form-urlencoded 序列化对象(即使 contentType 是 application/json')。所以你必须手动完成。

编辑:“post”的键应该是类型,而不是方法。

关于java - JSON 格式化(通过 jQuery AJAX 发送 JSON 到 Java/Wicket 服务器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3168401/

相关文章:

java - 等待下载文件完成,而不仅仅是 File.exists()

java - 模拟 UIInput 类进行测试

php - 如何实现依赖输入字段的Jquery?

java - HSQLDB-Database 设置相对于项目的 URL/DB

Java 对象数组(每个对象具有超过 1 个元素) 如何更改特定对象中的 1 个元素

javascript - 可以用我自己的自定义图像替换光标吗?

javascript - 数字框中特殊字符和字母的限制

jQuery UI 不会将主题应用到按钮

php - 使用 php 和 ajax 的登录表单

javascript - 如果元素存在则条件渲染