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的最佳/正确方法?
由于
答案 0 :(得分:3)
只需构造JS对象并将其字符串化:
"data": JSON.stringify({
inGeoFence: {
gpsCircle: {
longitude: getLong(),
latitude: getLat(),
radius: getRadius()
}
}
});
您也可以将data
作为JS对象发送,并在服务器端将其作为数组读取:
$.ajax({
data: {
inGeoFence: {
gpsCircle: {
longitude: $('#long').val(),
latitude: $('#lat').val(),
radius: $('#radius').val()
}
}
}
});
[server side, e.g. PHP]
$_POST['inGeoFence']['gpsCircle']['longitude']