我有一个Apache2 Web服务器以及一个正在运行的Python拥抱服务器。两者都在不同的端口上运行。我现在想使用jQuery向拥抱服务器发送请求。由于这是跨域的,因此我认为我必须使用类似以下的内容:How do I send an AJAX request on a different port with jQuery? 带有回调参数的jsonp。
我的问题是: -我的方法合理吗? -拥抱是否支持带回调的jsonp? -是否有更好的解决方案在javascript和Python拥抱API之间进行通讯?
答案 0 :(得分:0)
如果您只需要在API上发送GET
请求,则可以使用jQuery方法:
$.getJSON(your_url, function(json_received){
console.log(json_received);
});
如果您需要通过POST
请求发送数据,则需要在ajax方法中添加更多参数:
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: your_url,
dataType: 'json',
data: JSON.stringify({'message':'your_message}),
success: function(data_received) {
console.log(data_received);
},
error: function(error) {
console.log(error);
}
});
在API响应中,您需要添加参数{'Access-Control-Allow-Origin': '*'}
以允许跨域使用。