【发布时间】:2016-12-17 07:48:09
【问题描述】:
我尝试了很多东西,这就是我目前所拥有的:
所以我尝试从我的 javascript 中调用此方法“runTest()”。 该方法实际上并没有通过,它作为成功通过,所以“handleTest()”通过并且也成功了。我需要它来实际调用控制器函数。
Javascript/Angular/JQuery
$scope.runTest = function (myTest) {
$.ajax({
method: 'POST',
Url: 'Tests/runTest',
contentType: 'application/json;',
data: myTest,
success: function () { handleTest(myTest); },
error: function () { alert('no object found'); }
});
}
function handleTest(currentTest){
var updated = { id: currentTest.id, name: currentTest.name, schedule: currentTest.schedule, description: currentTest.description, server: currentTest.server, port: currentTest.port, method: currentTest.method };
//var updated = currentTest;
$http({
method: "PUT",
url: 'http://~~api address~~/api/tests/' + (currentTest.id),
data: updated
})
.success(function (data, status, headers) {
alert("Test was successfully updated.");
$state.reload();
})
.error(function (data, status, headers) {
alert("Test could not be updated.");
$state.reload();
});
}
C# 控制器方法 (命名为 TestsController)
[HttpPost]
public ActionResult runTest(StandardTest myTest)
{
myTest.lastResult = MyEnum.Pass;
log.Info(myTest.name + " " + myTest.lastResult + " " + myTest.id);
return Json(myTest, JsonRequestBehavior.AllowGet);
}
任何帮助将不胜感激。
【问题讨论】:
标签: c# angularjs asp.net-mvc asp.net-web-api2