2015-03-26 3 views
1

Я работаю в веб-сервисе JSONRPC, и я пытаюсь отправить запрос на сервер, чтобы получить ответ. В основном я пытаюсь отправить следующие данные в запросеКак отправить запрос JSONRPC с использованием JavaScript

methodname//example 899 
Language code 
Transaction code 
User ID 
Password 
number 
Amount 

Теперь есть хозяин, который мне нужно подать request.If я TelNet хост и порт его получение подключен successfully.But, когда я пытаюсь чтобы отправить запрос через браузер, я получаю некоторую сеть :: ERR_CONNECTION_CLOSED. Я не уверен, почему это происходит.

Я не уверен в запросе, что я подаю, но вот запрос, который я submitting.And Я подаю запрос с использованием Javascript

<Script> 
    JSONTest = function() { 


     $.ajax({ 
      url : "https://domain.com:port/", 
      type : 'GET', 
      data : { 
       "jsonrpc" : "2.0", 
       "method" : "904", 
       "id" : "1", 
       "params": [ "en", "69", "2123129930", "4371232483", "50", "" ] 
      }, 
      dataType : "json", 
      success : function(result) { 
       //alert("result"+result[0]); 
       switch (result) { 
       case true: 
        processResponse(result); 
        break; 
       default: 
        resultDiv.html(result); 
       } 
      }, 
     /* error: function (xhr, ajaxOptions, thrownError) { 
      alert(xhr.status); 
      alert(thrownError); 
      } */ 
     }); 
    }; 
</script> 

<button type="button" onClick="JSONTest()">JSON</button> 

На основании вышеприведенного сценария я tryiing найти ответы на следующие вопросы.

  1. Является ли запрос, который я представляю выше, действителен или нет?
  2. Как я могу указать значение URL-адреса, если указанное выше объявление неверно?
  3. Является ли тип, который я предоставил выше, в порядке?
  4. Пожалуйста, проверьте все параметры и сообщите мне, являются ли все позиции параметров действительными или нет.
  5. Какова иерархия параметров, которые я предоставил выше?

Настоятельно оцените вашу помощь по этому вопросу.

ответ

0

Выполняет ли ваш jsonrpc-сервер HTTP-запросы GET? Если ваш jsonrpc-сервер поддерживает HTTP вообще, тем более обычный подход использует POST для передачи данных запроса jsonrpc.

Вы считаете, что вы используете междоменные ограничения в своем браузере?

Я бы предположил, что вы должны сделать POST-запрос. Данные выглядят корректно, но все это зависит от jsonrpc-сервера. Существуют способы передачи jsonrpc через http, но он не является частью самого протокола.

Убедитесь, что сервер принимает сообщение http и выводит заголовок Access-Control-Allow-Origin; см http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

Если вы делаете больше, чем один простой пост, я бы предложил JS-Lib для обработки jsonrpc, как: https://github.com/Textalk/jquery.jsonrpcclient.js

Смежные вопросы