我在Web Api中拥有此HttpDelete
方法:
[HttpDelete]
public async Task<IActionResult> Delete(Guid id) <== {00000000-0000-0000-0000-000000000000}
{
//some code
return Ok("{\"msg\":\"success\"}");
}
这是我的AJAX调用:
function deletePatient(idPatient) {
$.ajax({
url: 'api/Patient',
method: 'DELETE',
async: false,
data: idPatient,
dataType: 'json',
success: function (response) {
alert("Ok !");
},
error: function (response) {
alert("Delete : Une erreur est survenue, merci de retenter plus tard.");
}
});
}
我正在使用fnRowCallback
初始化用于呼叫deletePatient
的数据表,如:
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
var idPatient = aData[4];
if (idPatient != null) {
$('td:eq(4)', nRow).html('<img id="' + idPatient + '" onclick="deletePatient("' + idPatient + '");" src="../images/delete.png" />');
}
}
当我调试通过Delete
方法接收到的Guid时,我只会得到Guid的默认值:{00000000-0000-0000-0000-000000000000}
。
我的错误在哪里,有人可以帮我吗?
谢谢。
编辑:
使用邮递员,它可以正常工作(原始,JSON(application / json)):
url:api /患者/ d4fee000-aa6a-4673-81cc-33e990509d73
确切网址:
答案 0 :(得分:1)
好的,所以我稍微修改一下电话:
function deletePatient(idPatient) {
var url = "api/Patient/" + idPatient;
$.ajax({
url: url,
method: 'DELETE',
dataType: 'json',
success: function (response) {
alert("Ok !");
},
error: function (response) {
alert("Delete : Une erreur est survenue, merci de retenter plus tard.");
}
});
}
和我的http delete方法可以正确捕获ID:
[HttpDelete("{id}")]
public async Task<IActionResult> Delete(Guid id)
{...}
感谢大家的帮助,它现在可以完美运行。