2016-02-18 2 views
0

Я создал веб-API в DNN с образцом, представленным в http://www.dnnsoftware.com/community-blog/cid/142400/getting-started-with-services-framework-webapi-edition с этим примером я модифицированным методом HelloWorld для получения параметра, но не в состоянии получить параметр в действии во время прохождения через AJAX. Вот мой кодDNN Web API не получает параметр

public class RouteMapper : IServiceRouteMapper 
{ 
    public void RegisterRoutes(IMapRoute mapRouteManager) 
    { 
     mapRouteManager.MapHttpRoute(
      moduleFolderName: "MyServices", 
      routeName: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { id = RouteParameter.Optional }, 
      namespaces: new[] { "MyServices" } 
     ); 
    } 
} 

public class WelcomeController : DnnApiController 
{ 
    [AllowAnonymous] 
    [HttpGet] 
    public string HelloWorld(WelcomeParameter id) 
    { 
     return "test" + id.UserID + id.ClientID + id.LanguageID; 
    } 
} 
public class WelcomeParameter 
{ 
    public int UserID; 
    public int ClientID; 
    public int LanguageID; 
} 

<script type="text/javascript"> 
$(document).ready(function() { 
    $.ajax({ 
     method: "GET", 
     url: "desktopmodules/myservices/apI/Welcome/HelloWorld/", 
     data: JSON.stringify({"id":{ "UserID": 1, "ClientID": 1, "LanguageID": 1}}), 
     contentType: 'application/json; charset=utf-8', 
     dataType: 'json' 
    }) 
    .done(function (msg) { 
     alert("Content: " + msg); 
    }); 
}); 
</script> 

Это действие не возвращается на выход как

test111

test111

+0

HTTP GET не может содержать данные, если они не находятся в строке запроса. В противном случае вы можете попробовать HTTP POST. – Win

+0

@Win im получение ошибки как ** 405 Метод не разрешен «Запрошенный ресурс не поддерживает метод http« POST ».» ** – arun

ответ

0

им получать ошибки в 405 Method Not Allowed «запрашиваемый ресурс не поддерживает HTTP-метод «POST».

Вы также хотите добавить метод действия с HTTP POST.

public class WelcomeController : DnnApiController 
{ 
    [AllowAnonymous] 
    [HttpGet] 
    public string HelloWorld() 
    { 
     return ""; 
    } 

    [AllowAnonymous] 
    [HttpPost] 
    public string HelloWorld(WelcomeParameter id) 
    { 
     return "test" + id.UserID + id.ClientID + id.LanguageID; 
    } 
} 
+0

по-прежнему такая же ошибка 405 :( – arun

+0

Вы изменили метод: «GET» на 'метод:" POST "'? – Win