Javascript 新手,有一个基本查询
对于 POST AJAX 请求,我需要在 body 参数中以 JSON 格式发送以下数据,但是经度、纬度和半径值是动态的,即将根据当前位置提供。
{
"inGeoFence" : {
"gpsCircle" : {
"longitude": 122.2620,
"latitude": 37.4996,
"radius": 180000
}
}
}
静态的写法是
"data": "{\r\n \"inGeoFence\" : {\r\n \"gpsCircle\" : {\r\n \"longitude\": 77.348235,\r\n \"latitude\": 28.533938,\r\n \"radius\": 100\r\n }\r\n }\r\n}\r\n"
以上数据工作正常,因为所有数据都是静态值并且形成了字符串。
您能否建议我编写相同的 JSON,以便可以提供动态值。另外发送 JSON 的最佳/正确方法是什么?
谢谢
最佳答案
只需构造 JS 对象并将其字符串化:
"data": JSON.stringify({
inGeoFence: {
gpsCircle: {
longitude: getLong(),
latitude: getLat(),
radius: getRadius()
}
}
});
<小时/>
您还可以将数据
作为JS对象发送,并在服务器端将其作为数组读取:
$.ajax({
data: {
inGeoFence: {
gpsCircle: {
longitude: $('#long').val(),
latitude: $('#lat').val(),
radius: $('#radius').val()
}
}
}
});
[server side, e.g. PHP]
$_POST['inGeoFence']['gpsCircle']['longitude']
关于javascript - 发送在 POST 正文请求中具有动态值的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39078937/