0

angularJSを使用して、.netクライアントサーバーアプリケーションでこのマップルーティングを機能させようとしています。

マップ ルーティングと angularJS を行うのは初めてなので、その仕組みを理解するのにかなり苦労しています。

基本的に、私はクライアントとサーバーを備えたウェブサイトを持っています。

解決

この Web サイトでは、クライアントが SQL データベースからデータを取得するサーバーからデータをフェッチするためにマップ ルーティングを使用しようとしています。

問題は、このマップ ルーティングを機能させることができないようで、マップ ルーティングを完全に無視して、代わりに URL を取得しようとすることです。

マップ ルーティングが機能しない

私の質問は次のとおりです。なぜ機能しないのですか?

ここで私のコードを見ることができます

あなたが提供できる助けをありがとう、私が示したものに欠落しているコードがある場合は編集できます

編集: 参考までに、これは MVC4 プロジェクトではなく、MVC2 または MVC3 です。私はプロジェクトを開始した人ではないので、よくわかりません。

4

2 に答える 2

1

The URL should not end with GetManual.. Web API コントローラーは、HTTP メソッドを使用して、呼び出すアクションを決定します。したがって、$http呼び出しで、これを置き換えます。

'../api/Manuals/GetManual'

'../api/Manuals'

そして、おそらくこれを交換する必要があります

public JsonResult GetManual(int id)
{
    var obj = this.db.GetManual(id);
    return this.JsonHelper(obj);
}

public Manual Get(int id)
{
    var obj = this.db.GetManual(id);
    return obj;
}

ルート構成は次のようになります。

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
于 2014-01-16T16:55:29.633 に答える
0

うまくいかない理由がわかりました。私のマップのルーティングは実際には良好でした。この問題は、Visual Studio Express の使用に起因します。

Client and Server プロジェクトは、VS の Express バージョンで同じ IP にビルドされません。そのため、マップ ルーティングを使用しようとすると、サーバーが別の IP を使用していたため、クライアントはサーバー上で何かを取得できませんでした。

これに対抗するために、MSBuild を使用します

于 2014-01-17T17:14:06.807 に答える