Я не смог решить следующую проблему:
Я отправил вызов ajax на мой контроллер и хотел бы получить два значения обратно:
$.ajax({
type: "POST",
url: "/myController/myFunction",
data: {
sourceSubFunctionId: newSubFunctionId,
destinationFunctionGroupId: FunctionGroupId
},
dataType: "json",
async: false,
error: function (Message) {
log.error("Fehler beim Speichern der neuen Funktion.", Message);
alert("Fehler beim Speichern der neuen Funktion.");
},
success: function (Message) {
console.log(Message);
newSubFunctionId = Message.SubFunctionId;
newBMK = Message.BMK;
}
})
Действие запущено, пока хорошо. Теперь я хотел бы вернуть эти два значения. Я думал, что Json - правильный формат для этого, поэтому я создал простую json -подобную строку:
string result = "{ 'SubFunctionId': '215', 'BMK': 'myNewBMK' }";
Это действие контроллера:
public JsonResult myFunction(int sourceSubFunctionId, int destinationFunctionGroupId)
{
string result = '{ "SubFunctionId": "215", "BMK": "MyNewBMK" }';
//Also tried this:
//result = Newtonsoft.Json.JsonConvert.SerializeObject(result,Newtonsoft.Json.Formatting.Indented);
return Json(result);
}
Неважно что я делаю, даже json выдает ошибку для неэкспонированного знака, или я получаю неопределенное в результате.
Итак, простой вопрос: как мне вернуть две строки для моего контроллера в javascript? Это не обязательно должен быть json -формат, массив с двумя значениями будет в порядке.
Спасибо, Карстен