簡體   English   中英

向random.org api發出JQuery $ .ajax請求的問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM