[英]Problems with JQuery $.ajax request to random.org api
我遇到了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);
}
});
例如,关键是0。
我得到的回应是这样的:
{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error","data":null},"id":null}
并且网站错误代码表说消息是由于解析错误,我抓住的数据肯定是正确的,所以只留下它..我发错了? 我必须发送这些数据..不是它也想要我,我相信这与我的JSON请求标头有关。
我知道我可以使用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);
}
});
我添加了ticks(``)来字符串化对象和双引号(“”),其中有单打。 为其他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);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.