我正在用 ruby on rails 实现服务器。现在我想使用 ajax 请求(客户端在另一个域上,所以它是一个跨域调用)从这个服务器中获取一些数据,并以 JSON 形式接收数据。
我该怎么做才能让它工作?
谢谢
我正在用 ruby on rails 实现服务器。现在我想使用 ajax 请求(客户端在另一个域上,所以它是一个跨域调用)从这个服务器中获取一些数据,并以 JSON 形式接收数据。
我该怎么做才能让它工作?
谢谢
在客户端使用 jquery 发送 ajax 请求:
像这样形成你的参数:
var data = {
remote: true,
myplace:
{
swlat:lat(),
swlng:lng(),
nelat:lat(),
nelng:lng(),
}
};
$.getJSON('/location/getNewLocation',data, function(postsData) {
parseReturnedJsonData(postsData);
});
这将向 json 数据的 URL 发送 POST 请求。然后在服务器上,您可以读取参数,然后在parseReturnedJsonData()
函数中使用 jQuery 渲染 json。从 jQuery 检查 getJson 和 parseJson 函数:http: //api.jquery.com/jQuery.getJSON/
您需要callback
作为查询参数传递:
$.getJSON('http://some-service.com/some-resource?callback=?',data, function(postsData) {
parseReturnedJsonData(postsData);
});
此外,请确保您查询的 API 支持 JSONP。查看http://eduvoyage.com/jsonp-explained.html以更好地了解 JSONP 的工作原理。
查看jsonp
导轨,但请确保您了解其jsonp
工作原理