0
在我的Web API項目,我有一個名爲的ContactController控制器和它命名爲同步方法,等待下面的字符串列表:帖子列表
[HttpPost]
[Route("api/Contact/Synchro")]
public IHttpActionResult Synchro([FromBody]List<string> listNumTel)
{
List<Profil> listContact = new List<Profil>();
if (listNumTel.Count() > 0)
{
try
{
listContact = Librairie.Contacts.getContactSync(listNumTel);
return Ok(listContact);
}
catch(Exception e) {
return InternalServerError(e);
}
}
else
{
return BadRequest();
}
}
測試該方法中,我創建以下稱爲AJAX:
$("#btn_synchro").click(function() {
$.ajax({
url: '../api/Contact/Synchro',
type: 'POST',
data: {
"listNumTel": [
"+33640512999",
"+33640522997",
"+33640182998",
"+33640742996"]
},
dataType: 'json',
success: function (data) {
alert('Synchro réussi: ' + data);
},
error: function (request, error) {
alert("Erreur lors de la synchro");
}
})
});
當我在調試模式下測試,呼叫工作正常,但該方法得到一個空列表。我檢查了json是否有效,它是。有人看到什麼可能是錯的?提前致謝 !
如果將它作爲內容類型「application/x-www-form-urlencoded」發送,您是否可以檢查瀏覽器的請求? – 2014-11-04 16:38:02
請求的內容類型似乎是:application/json – 2014-11-04 20:42:08
那麼,請嘗試將其設置爲「application/x-www-form-urlencoded」,因爲我認爲您的後端不會理解它是傳入的POST請求。 jQuery似乎應該默認將其設置爲此,但嘗試在'contentType'中明確設置它 – 2014-11-04 20:44:03