javascript - JQuery $.ajax 请求 random.org api 的问题

标签 javascript jquery json ajax

我在使用 api 时遇到问题,我尝试了很多方法,但似乎没有任何效果。我用了他们的 https://api.random.org/json-rpc/1/request-builder JSON 对象创建者以确保我正确地处理了 JSON。我查看了我的 JSON 请求,我认为问题出在这里。

这是我的代码:

$.ajax({
            url: 'https://api.random.org/json-rpc/1/invoke',
            type:"POST",
            data:{
                'jsonrpc': '2.0',
                'method': 'generateIntegers',
                'params': {
                    'apiKey': '00000000-0000-0000-0000-000000000000',
                    'n': 10,
                    'min': 1,
                    'max': 10,
                    'replacement': true,
                    'base': 10
                },
                'id': 2601
            },
            contentType:"application/json; charset=utf-8",
            dataType:"json",
            success: function(result){
                $('#text').html(JSON.stringify(result));
                console.log(result);
                }
            }); 

例如, key 为 0。

我得到的响应是这样的:

{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error","data":null},"id":null}

网站错误代码表说消息是由于解析错误,我抓取的数据肯定是正确的,所以就把它归结为..我发送错了吗?我必须发送此数据 .. 而不是它想要我发送的方式,我相信这与我的 JSON 请求 header 有关。

我知道我可以只使用 Maths.random(),或者可能会撕掉他们的整个演示页面,但他们使用了一堆 HTML 表单,这应该只是简单的 Ajax。对吧?

最佳答案

如果你想发送为json,你需要自己将数据字符串化

$.ajax默认是形成编码对象

尝试

var data: {
  'jsonrpc': '2.0',
  'method': 'generateIntegers',
  'params': {
    'apiKey': '00000000-0000-0000-0000-000000000000',
    'n': 10,
    'min': 1,
    'max': 10,
    'replacement': true,
    'base': 10
  },
  'id': 2601
};

$.ajax({
  url: 'https://api.random.org/json-rpc/1/invoke',
  type: "POST",
  data: JSON.stringify(data),// stringify data object
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(result) {
    $('#text').html(JSON.stringify(result));
    console.log(result);
  }
});

关于javascript - JQuery $.ajax 请求 random.org api 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39949825/

相关文章:

javascript - jQuery ajax 成功页面中的搜索框 - 循环中的问题

javascript - 如何通过javascript发出跨域请求

javascript - 动态对象创建

javascript - 当单击另一个对象时,如何在 jQuery 中传递一个对象?

javascript - jQuery 中的宽度切换动画在 FireFox 中不起作用?

java - 通过 Flex JSON 转义非 ascii 符号

javascript - 使用 CSJS/SSJS 根据范围变量的值自动按下按钮

javascript - 带有 Bootstrap 折叠和选项卡的幻灯片

python - 监控 JSON 有线协议(protocol)日志

json - 使用 BASH 和 JQ 我想将 json 文件与 bash 数组进行比较