2012-01-25 16 views
1

私は単純なWCFサービスアプリケーションを提供しています。このアプリケーションには、「部屋」アイテムのリストと、WebInvoke経由でJSONとして情報を取得するためのメソッドが含まれています。メソッド「GetRooms()」のブラウザで次のテスト項目を返します。WCFサービスからJSONを取得する

[{"RoomId":1,"RoomName":"Big Room"}, 
    {"RoomId":2,"RoomName":"Medium Room"}, 
    {"RoomId":2,"RoomName":"Small Room"}] 

私は現在、私は後でjqGridでそれをフォーマットすることができるようにjQueryのを使用してWebアプリケーションでJSONを取得しようとしています。私は次のコードを使用してこれをしようとしています:

<div> 
<input type="button" value="Get Rooms" onclick="getRooms();"> 
</div> 
<div id="rooms"> 
<script type="text/javascript" src="lib/js/jquery-1.7.1.js"> 
    function getRooms() { 
     $.ajax({ 
     dataType: 'jsonp', 
     type: "GET", 
     url: "http://localhost:6188/RoomBookingService.svc/GetRooms", 
     success: function (data) { 
      var innerHtml = ""; 
      for (i = 0; i < data.length; i++) { 
       innerHtml += data[i].RoomId + ' ' + data[i].RoomName + '<br/>'; 
      } 
      $("#rooms").html(innerHtml); 
     } 
    }); 
} 
</script> 
</div> 

getRoomsが定義されていないというエラーが表示されます。誰もこれで助けることができますか?

答えて

1

inlineの代わりに、クリックハンドラは、clickハンドラを添付するためにjQueryを使用します。試してみてください

<div> 
<script type="text/javascript" src="lib/js/jquery-1.7.1.js"> 
$(function(){ 
    $("input:button").click(function() { 
     $.ajax({ 
      dataType: 'jsonp', 
      type: "GET", 
      url: "http://localhost:6188/RoomBookingService.svc/GetRooms", 
      success: function (data) { 
       var innerHtml = ""; 
       for (i = 0; i < data.length; i++) { 
        innerHtml += data[i].RoomId + ' ' + data[i].RoomName + '<br/>'; 
       } 
       $("#rooms").html(innerHtml); 
      } 
     }); 
    }); 
}); 
</script> 
<input type="button" value="Get Rooms" /> 
</div> 
<div id="rooms"></div> 
+0

ありがとうございます! Thatsはボタンのクリックエラーを解決しました。 – moikey

関連する問題