Javascript 对random.org api的JQuery$.ajax请求存在问题
我在api方面遇到了问题,我尝试了很多方法,但似乎没有任何效果。我使用他们的JSON对象创建者来确保我正确地执行JSON。我已经查看了我的JSON请求,我认为问题就在这里 这是我的密码:Javascript 对random.org api的JQuery$.ajax请求存在问题,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我在api方面遇到了问题,我尝试了很多方法,但似乎没有任何效果。我使用他们的JSON对象创建者来确保我正确地执行JSON。我已经查看了我的JSON请求,我认为问题就在这里 这是我的密码: $.ajax({ url: 'https://api.random.org/json-rpc/1/invoke', type:"POST", data:{ 'jsonrpc': '2.0',
$.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);
}
});
例如,该键为0'ed out
我得到的答复是:
{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error","data":null},"id":null}
网站错误代码表上说,这条消息是由于解析错误造成的,我抓取的数据肯定是正确的,所以只剩下。。我发错了?我必须发送这些数据。。我相信这与我的JSON请求头有关
我知道我可以只使用math.random(),或者可能撕开他们的整个演示页面,但是他们使用一堆HTML表单,这应该只是简单的Ajax。。对吗?如果要以json的形式发送,您需要自己对数据进行字符串化 $.ajax默认设置为形成编码对象 试一试 我添加了勾号(``)来字符串化对象,并在有单引号的地方添加了双引号(“”)。为其他random.org用户添加我的解决方案:
$.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);
}
});
$.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);
}
});