2016-04-04 21 views
1

knockout java-scriptを使用していて、コントローラへのAPI呼び出しがあります。このコントローラには、すべて正常に機能するメソッドが多数あります。 1つの特定のメソッドのブレークポイントは、ブレークポイントにヒットしません。私はJavaスクリプトにブレークポイントを置くと、コントローラーの特定のメソッドから戻ってくるデータがあることがわかります。誰かがこれを引き起こしているかもしれない考えを持っていますか?コントローラでブレークポイントがヒットしていないのにコントローラからのデータが返される

これは、これは私のノックアウトでaccesedされている私のDeviceHierachyコントローラのメソッドである私のノックアウト

function FetchDeviceRows(dtvm, item) { 
    $.when(getSecureData("/api/DeviceHierarchy?parentCostCentreId=" + item.assetInstanceId() + "&noChildren=" + item.noChildren() + "&orgLevel=" + item.orgLevel())) 
    .done(function (rows) { 
     InsertActualDeviceRows(dtvm, item, rows); 
     RefreshWholeDevicePage(dtvm); 
    }); 
} 

です。ここでのブレークポイントは、ヒットが、私は私のノックアウトで の.done(機能(行)にブレークポイントを置いたときに、それはあなたのクエリ文字列がinvaildある

[HttpGet] 
public IEnumerable<DeviceHierarchyRow> Get(int parentAssetInstanceId, int noChildren, int orgLevel) 
{ 
    var hierarchies = _deviceHierarchyRepository.GetDevices(parentAssetInstanceId, noChildren); 
    return hierarchies.ToList().Select(h => new DeviceHierarchyRow(orgLevel + 1, 0, 0, "", "", h.noChildren, _pageSize, false)); 
} 
+0

ブラウザはキャッシュされた結果を使用していますか? – Jasen

+0

キャッシュをクリアしましたので、それは問題ではないと思います。 – Zidane

+3

javascriptコードのパラメータがapiコントローラアクションのパラメータ名と一致しません。コントローラーで別のアクションを起こしている可能性があります。すべてのアクションにブレークポイントを設定して、それがどれに当たるかを確認してください – jontem

答えて

1

それが戻ってきたというデータを示していない。
ますので、あなたのウェブAPIのパラメータparentAssetInstanceIdのデフォルト値を設定していません。これはデフォルトのパラメータであり、parentCostCentreIdを渡すので、APIはparentAssetInstanceIdの値を見つけることができず、500の内部サーバエラーを返します。 jsコンソール。getメソッドがない場合は、parentCostCentreIdが入ります。この場合、ブレークポイントは間違った場所にあります。

+0

あなたは非常に正直でありがたくありがとう、ありがとうございました – Zidane

+0

@Zidane問題はありません。私は何回も自分でやったことがあります。 – Toxicable

関連する問題