Опитвам се да направя тази работа за маршрутизиране на картата за моето приложение .net-client-server, използвайки angularJS.
Това е първият път, когато правя маршрутизиране на картата и ъглово, така че имам доста трудно време да разбера как работи.
По принцип имам уеб сайт с клиент и сървър.
В този сайт се опитвам да използвам маршрута на картата за моя клиент, за да изтегля данни от моя сървър, които получават данните от SQL база данни.
Проблемът е, че не мога да направя тази работа на маршрутизиране на картата и изглежда напълно да пренебрегвам маршрута на картата си и вместо това да се опитам да получа URL.
Моят въпрос е: Защо не работи?
Благодарим Ви за всяка помощ, която можете да предоставите, и мога да редактирам, ако липсва код в това, което показах
Редактиране: За информация, това не е проект MVC4, а MVC2 или MVC3. Не съм сигурен, тъй като аз не съм този, който е започнал проекта.
Отговори:
1 за отговор № 1URL адресът не трябва да завършва с GetManual .. Уеб контролерът 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 }
);
0 за отговор № 2
Открих причината защо не работи. Моята маршрутизация на картата беше всъщност добра. Проблемът идва от използването на Visual Studio Express.
Проектът "Клиент и сървър" не се градисъщото IP на Express версия на VS. Така че, когато се опитах да използвам маршрута на картата си, клиентът не можа да получи нещо на сървъра, тъй като сървърът използва различен IP адрес.
За да се противопоставя на това, ще използвам MSBuild