Я использую javascript для получения данных от Arduino, чтобы сохранить данные в базе данных, я использую dapper, а для тестирования я использую почтальон.
Вот мой код javascript для получения данных Json. Я сравниваю имена в моем коде javascript (которые используются для получения данных) с теми, которые я использую в своем коде C#, которые сопоставлены с моей базой данных, если имена совпадают, сохраните данные, которые я только что получил в моем базу данных и разместить на моем сайте
var Latitude = ("#Latitude").val();
var Longitude = ("#Longitude").val();
var Country = ("#Country").val();
var ObtainedDate = ("#ObtainedDate").val();
$.ajax({
type: 'POST',
url: 'http://localhost:59319/Home/Map',
data: { Latitude: Latitude, Longitude: Longitude, Country: Country, ObtainedDate: ObtainedDate },
dataType: "json",
success: function (lctn) {
$.each(lctn, function (i, lctns) {
$lctn.append(lctns.Latitude + lctns.Longitude + lctns.Country + lctns.ObtainedDate)
});
}
});
Вот код, который я использовал для подключения к своей базе данных
SqlConnection conn = new SqlConnection();
public GeoDapperConnection()
{
conn.ConnectionString = "Server=tcp:espejo.database.windows.net,1433;Initial Catalog=DbEspejo;Persist Security Info=False;User ID=IntecEspejo;Password=P@ssw0rd;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;";
var data = conn.Query<Geography>("SELECT * FROM GEOGRAPHY").ToList();
}
Это чтобы показать данные из моей базы данных
public List<Geography> Locations()
{
conn.Open();
var data = conn.Query<Geography>("GET_LOCATION", null, commandType: System.Data.CommandType.StoredProcedure).ToList();
conn.Close();
return data;
}
И этот код должен получить данные из части javascript и отправить их в мою базу данных.
public void ReceiveData(Geography Geo)
{
conn.Open();
var queryParameters = new DynamicParameters();
queryParameters.Add("@Lat", Geo.Latitude);
queryParameters.Add("@Long", Geo.Longitude);
queryParameters.Add("@Country", Geo.Country);
queryParameters.Add("@DateCreated", Geo.ObtainedDate);
var data = conn.Query("INSERT_LOCATION", queryParameters, commandType: System.Data.CommandType.StoredProcedure);
conn.Close();
}
Вот данные json, которые я публикую на своем веб-сайте Почтальон
Вот изображение моего веб-сайта, он не показывает меня в моем списке мои новые данные
А это мой урок географии
public class Geography
{
[Key]
public int RouteID { get; set; }
public double Latitude { get; set; }
public double Longitude { get; set; }
public string ISO { get; set; }
public string Country { get; set; }
public string ISO3 { get; set; }
public DateTime ObtainedDate { get; set; }
}
Почему бы вам не показать нам неисправный json?
@PepitoSh готово, только что закончил редактировать вопрос
Введите в браузере следующее: http://localhost:59319/Home/Map и опубликуйте то, что вы получите. Вы можете получить сообщение об ошибке, которое неправильно интерпретируется.
Как выглядит метод Map? Как ты возвращаешь Json из этого? Вы должны использовать метод Json вместо создания строки json вручную (если вы это делаете)
Можете выложить структуру Geography. Увидев ошибку, кажется, что JSON не десериализуется в ожидаемую модель.
@ user1672994 сделано
@Shyju я не использую метод карты
Ваш клиентский код вызывает метод map? Или URL-адрес, который имеет это. Какой метод обрабатывает этот запрос?
@Shyju, мой код на стороне клиента, я использую API карт Google, следует ли мне также опубликовать этот код javascript?
При просмотре снимка postmap кажется, что вы отправляете массив объектов, но ReceiveData (согласно вашему комментарию, он получает данные из javascript) ожидает только объект. Это намерение отправить массив объекта, а затем преобразовать параметр для ожидания List.
У вас есть метод для карты? Контроллер? Я думаю, вы отправляете JSON прямо на HTML-страницу. Это причина, по которой вы получаете Неожиданный '<'. Поскольку первый символ в HTML - это <.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


ошибка в json, верно