gpt4 book ai didi

Javascript 对象作为空对象 "Uncaught ReferenceError: data is not defined"传递给 Controller

转载 作者:行者123 更新时间:2023-11-30 13:45:39 25 4
gpt4 key购买 nike

我正在使用 asp.net core 3.0 开发 openstreetmap。我正在尝试从 map 中获取纬度、经度等详细信息作为 javascript 对象并将其发送到 Controller 。为此,我实现了一个 AJAX 请求以将 javascript 对象传递给 Controller ​​。但是 Controller 接收到的对象值为空。我想知道我在哪里做错了。还是版本问题?下面是我的代码,

我的模型类

public class LocationModel
{
public int LocationId { get; set; }
public string LocationName { get; set; }
public string Note { get; set; }
public double Latitude { get; set; }
public double Longitude { get; set; }
}

我的 Controller-Action 方法

[HttpPost]
public JsonResult Save(LocationModel details)
{
return Json(new { result = "OK"});
}

我的客户端代码

map.on('click', function (e) {
var name = window.prompt("Add Location Name:", "Text");
var note = window.prompt("Add Note:", "Text");
var latitude = e.latlng.lat;
var longitude = e.latlng.lng;

var locationdetails = { "LocationName": name, "Note": note, "Latitude": latitude, "Longitude": longitude };
console.log(locationdetails);

$.ajax({
type: "POST",
url: '/Home/Save',
contentType: "application/json",
dataType: "json",
data: JSON.stringify({details: locationdetails}),
success: function (response) {
alert(data);
},
error: function (xhr) {
console.log(xhr.responseText);
alert("Error has occurred..");
}
});
});

这里,locationdetails 变量包含我需要传递给 Controller ​​的所有详细信息。从 AJAX 调用,它不工作。如果有人可以指出我的错误,那就太好了。提前致谢!

最佳答案

the controller receives the value of the object as null.

要获得预期的数据,您可以修改如下代码。

jQuery AJAX 代码

$.ajax({

//...
//other options
//...

data: JSON.stringify(locationdetails),
success: function (response) {
alert(response.result);
},

//...
});

Controller Action

[HttpPost]
public JsonResult Save([FromBody]LocationModel details)
{
return Json(new { result = "OK" });
}

测试结果

enter image description here

关于Javascript 对象作为空对象 "Uncaught ReferenceError: data is not defined"传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59382444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com