2015-02-26 2 views
-1

Я новичок в angular.I бы попытаться отправить запрос $ HTTP серверу и вернуть некоторые values.This моего Javascript

function loadCustomers() { 
    var Location = {}; 
    Location.Setup_Location_Code = loggedLocation; 
    $http({ 
     method: 'POST', 
     url: loadCustomerDetailsLink, 
     data: $.param(Location), 
     headers: { 'Content-Type': 'application/x-www-form-urlencoded' } 
    }) 
     .success(function (data) { 
      alert("receved") 
      for (var i = 0; i < data.length; i++) { 
      } 
     }).error(function (data) { 

     }); 
}; 

и это мой C# код

[HttpPost] 
    public IHttpActionResult GetCustomerList(Customer_Details customer) 
    { 
     return Ok(DA_CustomerController.getCustomerList(customer.Setup_Location_Code)); 

    } 

но браузер показывает эту ошибку для меня enter image description here пожалуйста, помогите мне решить эту

+2

Если это * внутренняя ошибка сервера *, не должен смотреть на стороне сервера вместо этого? – Julien

+0

как я могу это сделать. – Saranga

+0

@SarangaSachinthana Я считаю, что не нужно упоминать [HttpPost] просто измените ваше имя действия на 'PostCustomerList' –

ответ

0

изменения вашего веб-апите конфигурации, как сильфон

config.MapHttpAttributeRoutes(); 
    config.Routes.MapHttpRoute(
    name: "DefaultApi", 
    routeTemplate: "api/{controller}/{action}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
    ); 
-1
// Simple POST request example (passing data) : 
$http.post('/someUrl', {msg:'hello word!'}). 
    success(function(data, status, headers, config) { 
    // this callback will be called asynchronously 
    // when the response is available 
    }). 
    error(function(data, status, headers, config) { 
    // called asynchronously if an error occurs 
    // or server returns response with an error status. 
    }); 

U должен позвонить так: первый параметр - это URL, а второй - объект, который когда-либо захочется опубликовать.

0

Я думаю, что ваш угловой код в порядке, но, возможно, есть некоторые проблемы в ваш код C#. Я думаю, вы должны установить тип возврата JsonResult и вернуть данные Json в конце. Давайте попробуем это, возможно, вам поможет. https://msdn.microsoft.com/en-us/library/system.web.mvc.jsonresult(v=vs.118).aspx

+0

может помочь мне с моим кодом – Saranga

+0

Вы должны изменить метод:« GET », потому что вы делаете запрос на получение, url: loadCustomerDetailsLink + '/' + loggedLocation. public JsonResult GetCustomerList (String loggedLocation). return Json (DA_CustomerController.getCustomerList (loggedLocation), JsonRequestBehavior.AllowGet); – nnc1311

+0

, но мне нужно опубликовать значение с запросом – Saranga

0

Я нашел решение. webApiConfig должен измениться, как сильфон

public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
      // Web API configuration and services 

      // Web API routes 
      config.MapHttpAttributeRoutes(); 

      config.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "api/{controller}/{action}/{id}", 
       defaults: new { id = RouteParameter.Optional } 
      ); 

      config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); 
      config.Formatters.Remove(config.Formatters.XmlFormatter); 
     } 
    } 
Смежные вопросы