2016-06-19 5 views
1

Я сделал этот АЯКС позвонитьИз тела нулевого значения

var value = $("#newval").val(); 
    $.ajax({ 
     type: "Put", 
     url: "/api/updateparameter/" + global_id, 
     data: value, 
     success: function() { HidePopUp(); } 
    }); 

к этой услуге:

 [HttpPut] 
     [Authorize(Roles = "superadmin,admin")] 
     [Route("updateparameter/{id}")] 
     public IHttpActionResult UpdateConfiguration(int id, [FromBody] string value) 
     { 
      ajt_configuration obj = repoConfiguration.FindById(id); 
      if (obj == null) return Ok(); 
      obj.value = value.ToString(); 
      repoConfiguration.UpdateConfiguration(obj.key, obj.value); 
      return Ok(); 
     } 

Проблема заключается в том, что value всегда нуль в службе !!

Так что мне нужно знать:

  1. Что он принимает нулевое значение, как?
  2. Как я могу это исправить?
+0

Каков тип содержимого значения на клиенте? –

+0

@PhilB это строковый тип –

ответ

4

Вы не отправляли объект вашей службы должным образом, вы должны определить объект пар ключ/значение, которое содержит имя и значение вашего variables.so вы должны изменить ваш запрос AJAX, как это:

var value = $("#newval").val(); 
$.ajax({ 
    type: "Put", 
    contentType: "application/json; charset=utf-8", 
    url: "/api/updateparameter/" + global_id, 
    data: {'value': value}, 
    success: function() { HidePopUp(); } 
});