2016-10-10 3 views
0

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'ed된다

여기 내 코드입니다.

내가 얻을 응답은 이것이다 :

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

그리고 웹 사이트 오류 코드 시트는 메시지가 오류를 구문 분석 때문이다라고, 내가 잡고 데이터를 단지에 아래 잎 있도록 올바른 것으로 확신 .. 내가 잘못 보낸거야? 나는이 데이터를 보내야 만한다. 나를 원하는 방식이 아니라, JSON 요청 헤더와 관련이 있다고 생각한다.

Maths.random()을 사용하거나 데모 페이지 전체를 찢을 수는 있지만 HTML 폼을 많이 사용하며 단순한 Ajax 여야합니다. 맞습니까?

답변

1

당신은 당신이

$ 아약스 기본 인코딩이 시도

개체를 형성하는 JSON으로 보내려면 데이터를 직접 캐릭터 라인 화 할 필요가

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); 
    } 
});