【发布时间】:2016-10-12 20:29:59
【问题描述】:
所以我有一个基本形式,它需要一个地址,获取纬度/经度,然后我试图将纬度/经度值传递给我的 API。 API 正在获取变量,但在成功通过后,我的 ajax 调用中出现解析错误。
<form method="GET">
<input id="address" type="text">
<button id='searchRadius' type="submit">Search</button>
</form>
ajax 调用
$('#searchRadius').on('click', function (e) {
var lati;
var lng;
var rad = 30;
var address = $('#address').val();
e.preventDefault();
$.ajax({
type: "GET",
url: "http://www.mapquestapi.com/geocoding/v1/address?key=LIhb6pFxB7qAlFC4Aiul9rM9i7R5BcgB&location=" + address,
beforeSend: function (xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-type", "application/json");
},
success: function postForm(response) {
lati = response.results[0].locations[0].latLng.lat;
lng = response.results[0].locations[0].latLng.lng;
console.log(lati, lng, rad);
$.ajax({
url: contextRoot + "/map/radius",
type: "GET",
data: {"lati": lati},
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-type", "application/json");
},
success: function (data, status) {
console.log(data);
},
error: function (data, status) {
alert("bad api call");
console.log(status);
}
});
},
error: function (data, status) {
console.log(data.errors);
}}
);
});
api调用
@RequestMapping(value = "/radius", method = RequestMethod.GET)
@ResponseBody
public String radiusSearch(HttpServletRequest request, Map model) {
String n1 = request.getParameter("lati");
return "redirect: /";
}
所以我得到参数“lati”但它不会重定向页面然后我在第二个 ajax 调用中得到一个错误。在传递变量之前,我需要 JSON.Stringify 吗?我确实需要将变量“lati”、“lng”、“rad”传递给 api,但我试图让它先使用一个。
【问题讨论】:
标签: javascript json ajax spring spring-mvc