2012-05-03 43 views
2

WCFサービスから座標リストを取得するASP.NET MVC3アプリケーションがあります。このサービスは、いくつかのプロパティ(XcoorとYcoor)を持つListを返します。私のWebページでASp.NET MVCコントローラからJavaScript関数にデータを渡す

public List<Location> GetCoordinate() 
     { 
      sensor = new Location(); 

      List<Location> coordinateList = sensor.GetSensorInformation(); 

      return coordinateList; 

     } 

、私は(地図上)2つのパラメータとディスプレイを取るJavaScript関数は、ページ上の座標持っ

function GetLocation(y, x){ 
//my code here 
} 

私は私のコントローラからcoordiatesのリストを取得したいです処理のためにJS関数に渡します。

これについてはどのような方法が最適ですか?

私は、次を使用しようとしますが、私は結果

$.ajax({ 
      url: '@Url.Action("GetCoordinate")', 
      type: 'GET', 
      dataType: 'xml', 
      success: function(result) { 

      }, 
      error: function (xhr, ajaxOptions, thrownError){ 
        alert(xhr.status); 
        alert(thrownError);} 
     }); 

任意のアイデアを解析する方法を知りませんか?

+1

'GetCoordinatesArray'がリストを返す場合、jQueryの' $ .ajax'がそれをURLとしてどのように呼び出すのでしょうか? –

+1

JSONを使用....... –

+0

セルジオ、私のタイプミス。私は投稿を更新しました。ありがとう。私がアクセスして機能する(結果)と仮定します。 @Travis、このためにJSONはどのように使用しますか? – Mage

答えて

7

変更し、次へお使いのコントローラ:

public ActionResult GetCoordinate() 
{ 
    sensor = new Location(); 

    List<Location> coordinateList = sensor.GetSensorInformation(); 

    return Json(coordinateList, JsonRequestBehavior.AllowGet); 

} 

これでjQueryが処理できるコントローラアクションがJSONを返しています。

変更あなたのjQueryのメソッドは、これを実行します

$.ajax({ 
    url: '@Url.Action("GetCoordinate")', 
    type: 'GET', 
    dataType: 'json', 
    success: function(data) { 
     // process the data coming back 
     $.each(data, function(index, item) { 
      alert(item); 
     }); 
    }, 
    error: function (xhr, ajaxOptions, thrownError) { 
     alert(xhr.status); 
     alert(thrownError); 
    } 
}); 

は、今すぐあなたのAJAXの方法は、JSONデータを扱っている知っています。 jQueryの各メソッドを使用して、データで何かを行うことができます(私はこの場合警告を出しています)。

+0

"item"はオブジェクトオブジェクトを返します。実際のデータをリストからどのように取得するのですか? – Mage

+0

私はデータを参照してください...ありがとう。その男を私のJS機能に接続してください – Mage

+0

Workedは魅力が好きでした!ご協力いただきありがとうございます!!!! :) – Mage

0

ここにはたくさんのものがあります。

)あなたのコントローラメソッドを定義

公共化するJsonResult GetCoodinates(上の関数を定義 {}

の方法であなたのWCFサーバを消費し化するJsonResultに結果を変換します。あなたのJavaScriptで

$アヤックス({ URL: '/コントローラ/ GetCoordinates'、 タイプ:GET、 データ型: 'JSON'、 成功:機能(データ){ $ .each (データ、機能(キー、値){// あなたがマップ 上の座標を配置するために、ここでやっているものは何でも呼び出す} });

関連する問題