我無法將JSON對象發送到我的MVC 6 WebApi控制器。使用jQuery將JSON對象發送到MVC 6使用jQuery的WebApi控制器
當我看到在提琴手的RAW數據,正是我目前正在發送,是這樣的:
Username=brugernavn&Password=adgangskode&DocumentId=document.dotx
我認爲我的控制器期待收到,是這樣的:
{"Username":"brugernavn","Password":"adgangskode","DocumentId":"document.dotx"}
我的控制器代碼:
namespace DemoApp.Controllers
{
[Route("api/[controller]")]
public class DocumentController : Controller
{
// POST: api/documentcontroller/GetDocumentInformation
[HttpPost]
[Route("[action]")]
public string GetDocumentInformation([FromBody] GetDocumentInformationRequest documentInformationRequest)
if (documentInformationRequest == null)
{
return "null";
} else {
return "ok";
}
}
}
我GetDocumentInformationRequest模型類:
public class GetDocumentInformationRequest
{
public string Username { get; set; }
public string Password { get; set; }
public string DocumentId { get; set; }
}
我jQuery代碼:
var source = {
'Username': 'brugernavn',
'Password': 'adgangskode',
'DocumentId': documentID
}
var apiUrl = location.origin + "/api/documentcontroller/GetDocumentInformation";
$.ajax({
type: "POST",
dataType: "json",
url: apiUrl,
data: source,
success: function (data) {
alert(data);
},
error: function (error) {
var x = error; //break here for debugging.
}
});
AJAX請求並擊中控制器,但documentInformationRequest參數爲空。
此外,ajax請求每次都會在錯誤塊中結束,但那是因爲控制器當前僅返回「null」,這是無效的JSON ... (它返回代碼200,並且沒有錯誤拋出。)
我已經嘗試了許多變種的ajax請求,但到目前爲止沒有導致正確地將JSON對象發送到控制器。