У меня есть интерфейс карты Openlayer, где я фиксирую добавление новых точек на карту.Я хочу взять эти точки данных о местоположении и сохранить их в базе данных.Итак, у меня есть рабочая функция на странице .cshtml, которая выглядит следующим образом:
map.on('dblclick', function (evt) {
var coordinate = evt.coordinate;
var datapoints = new Array();
var features = source.getFeatures();
for (var i = 0; i < features.length; i++) {
var poi = features[i];
var datapt = new Object();
datapt.X = poi.values_.geometry.flatCoordinates[0];
datapt.Y = poi.values_.geometry.flatCoordinates[1];
datapoints.push(datapt);
}
var xhr = new XMLHttpRequest();
xhr.open("POST", "Draw_Features", true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(datapoints));
});
Это, кажется, работает нормально и отправляет обратно закодированный JSON из всех местоположений.В моем файле контроллера у меня есть следующее:
[HttpGet]
public IActionResult Draw_Features()
{
return View();
}
[HttpPost]
public IActionResult Draw_Features(string someValue)
{
//TODO
return View("Index");
}
[HttpPost]
public IActionResult AddPointsToDB(string someValue)
{
//TODO
return View("Index");
}
У меня есть две проблемы:
1) Я хочу вернуть данные в функцию AddPointsToDB (), но вместо этоговместо этого перейдем к «Draw_Features ()».Как указать в xhr.send () правильную функцию посадки?
2) Я ожидал, что функция получит JSON через переменную 'string someValue'.Но эта переменная имеет значение NULL.Как правильно получить доступ к этому JSON из функции?
Спасибо!
РЕДАКТИРОВАТЬ: Исправлен код преобразования JSON, который подвергался бомбардировке.Все те же вопросы ...
РЕДАКТИРОВАТЬ 2: Отображение данных POST из Chrome