2017-08-09 8 views
-1

私はアプリケーションでRESTを使用してjQueryを使用しています。私のWebページ内でjQueryを使用して以下に述べる出力を取得したいとします。 以下のコードを使ってidで会社を検索しましたが(各社はid、他のインフォメーションサプライヤーとバイヤーを持っています)、結果は私のコードでは表示されません。残りのjQueryを使用して出力を取得できません

RESTは、HTTPリクエストを交換するための概念ですので、あなたは、サーバー側に実装REST-APIに対して(例えば「取得」)RESTfulな要求呼び出しを作っています。

<input name="find" type="text" maxlength="300" id="find"/> 
<button onclick="findId()"> Find By ID </button> 
    <div id="info"></div> 

    <script> 
     function findId() 
     { 
      var id = document.getElementById("find").value; 
      $("#info").html(""); 
      $.getJSON("http://localhost:8080/company/" + id, function(data) 
      { 
       for (var i in data) { 
        $('#info').append("<p>ID: " + data[i].id + "</p>") 
        $('#info').append("<p>Name: " + data[i].name + "</p>") 
        $('#info').append("<p>Other Info: " + data[i].otherInfo + "</p><br>") 
        $('#info').append("<p>Supplier: " + data[i].suppliers + "</p><br>") 
        $('#info').append("<p>Buyers: " + data[i].buyers + "</p><br>") 
       } 
      });  
     } 

私は私のブラウザにhttp://localhost:8080/company/を入力すると、私は次のような出力が得られます。

[{"id":1,"name":"Test 1","otherInfo":"Test 1","suppliers":[{"id":1,"name":"Test 1","address":"Test 1","buyers":[{"id":1,"name":"Test 1","address":"Test 1"}]},{"id":2,"name":"Test 2","address":"Test 2","buyers":[{"id":3,"name":"Test 3","address":"Test 3"},{"id":2,"name":"Test 2","address":"Test 2"}]}]},{"id":2,"name":"Test 2","address":"Test 2","suppliers":[{"id":3,"name":"Test 3","address":"Test 3","buyers":[{"id":4,"name":"Test 4","address":"Test 4"}]}]}] 

私は自分のブラウザにhttp://localhost:8080/company/1を入力した場合、私は

{"id":1,"name":"Test 1","otherInfo":"Test 1","suppliers":[{"id":1,"name":"Test 1","address":"Test 1","buyers":[{"id":1,"name":"Test 1","address":"Test 1"}]},{"id":2,"name":"Test 2","address":"Test 2","buyers":[{"id":3,"name":"Test 3","address":"Test 3"},{"id":2,"name":"Test 2","address":"Test 2"}]}]} 
+0

なぜ 'java'タグ? – shmosel

+0

getJSON呼び出しの 'id'の値は何ですか?ブラウザのURLの最後にそのIDを入力するとどうなりますか?したがって、id = 7の場合、ブラウザにhttp:// localhost:8080/company/7と入力するとどうなりますか? – DaveH

+0

URLに追加される値が1または2のいずれかであることを確認してください。 – DaveH

答えて

-1

を取得するには、クロスドメインです要求?もしそうなら、jsonpの代わりにjsonpを使って回避することができます。

function findId() 
 
     { 
 
      var id = document.getElementById("find").value; 
 
      $("#info").html(""); 
 
      $.getJSON("http://localhost:8080/company/?callback=?" + id, function(data) 
 
      { 
 
       for (var i in data) { 
 
        $('#info').append("<p>ID: " + data[i].id + "</p>") 
 
        $('#info').append("<p>Name: " + data[i].name + "</p>") 
 
        $('#info').append("<p>Other Info: " + data[i].otherInfo + "</p><br>") 
 
        $('#info').append("<p>Supplier: " + data[i].suppliers + "</p><br>") 
 
        $('#info').append("<p>Buyers: " + data[i].buyers + "</p><br>") 
 
       } 
 
      });  
 
     }

関連する問題