javascript - 发送在 POST 正文请求中具有动态值的 JSON

标签 javascript json ajax post

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/

相关文章:

javascript - 通过 jquery 或 ajax 加载内容

javascript - 将url编码数据转换为JSON数组或js数组

php - 检测空字段 - 问题

javascript - 如何在同一模板上显示项目总数和项目限制列表

javascript - 内联 Angular 加载模板

javascript - 防止 JSON.parse 重新排列对象

php - 带有特殊字符的 json,例如 é

jquery - 通过比较输入名称来更改输入 css

javascript - 如何在 javascript 中动态构建 JSON?

javascript - GA 作为 RequireJS 依赖项与 AdBlock EasyPrivacy 列表