javascript - 检索 POST JSON 响应

标签 javascript jquery json ajax grails

我正在 Groovy/Grails 平台上编写我的第一个 Ajax 请求。

    var newDataB = $.ajax({
    method:'post',
    url: url,
    async: false,
    data: {source:"${source}"},
    success: function (response) { 
        jsonData = response;
        var res = JSON.parse(jsonData);
                alert(res);//
    }
});

这是我的 Controller “url”的响应

    def result = [ value: 'ok' ]
    render result as JSON

但它不起作用,我在浏览器中收到错误消息

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data 
var res = JSON.parse(jsonData);

我不明白,响应似乎是一个格式很好的 JSON?

编辑我按照保罗的建议进行了打印:

如果我执行

    var newDataB = $.ajax({
    method:'post',
    url: url,
    async: false,
    dataType: 'json',
    data: {source:"${source}"},
    success: function (response) { 
        console.log(response)
        console.log(response.value)
        jsonData = response;
    }
});

第一个打印是:

Object { value="ok"}

第二个打印是

ok

如果我想得到结果,正确的方法是什么?

我是否必须在语句“success: function (response) {”中分配值

做类似的事情

var result

var newDataB = $.ajax({
    method:'post',
    url: url,
    async: false,
    dataType: 'json',
    data: {source:"${source}"},
    success: function (response) { 
    result = response.value
    }
});

console.log("result : "+result);

这段代码对我有用!

或者也许有一种方法可以得到结果,做类似的事情

var newDataB = $.ajax({
    method:'post',
    url: url,
    async: false,
    dataType: 'json',
    data: {source:"${source}"},
    success: function (response) { 

    }
});

var result = newDataB.response.somethingblablabla

var result = OneFunction(newDataB.response)

??????

最佳答案

只需使用 JSON.stringify(),您就可以在将对象传递给解析函数之前将其字符串化。

var newDataB = $.ajax({
        method: 'post',
        url: "${createLink(controller: 'util',action: 'test')}",
        async: false,
        data: {source: "abc"},
        success: function (response) {
            jsonData = response;
            var res = JSON.parse(JSON.stringify(jsonData));
            console.log(res);//
        }
    });

希望这会有所帮助。

关于javascript - 检索 POST JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36428025/

相关文章:

javascript - 与使用 jQuery 添加的内容进行交互

Javascript 更改日期格式

jquery - 我正在尝试将我的文本值与 slider 栏对齐,但遇到问题

javascript - 访问不同函数中的变量

javascript - HTML 代码下载链接而不是在浏览器中打开它

javascript - 清除除某些之外的所有 html 控件

javascript - jQuery 自定义扩展抛出不是函数错误

json - Redux & Immutable.js - 从 json 设置状态

php - 无法从 JSON 响应中获取正确的字符串?

android - 如何制作适当的 HttpPost 从网站获取一些数据?