gpt4 book ai didi

php - Javascript:跨域JSON请求问题

转载 作者:可可西里 更新时间:2023-11-01 01:07:57 25 4
gpt4 key购买 nike

我正在尝试从 Google Places API 请求 JSON,但在首先包含以下内容后我仍然收到跨域请求错误:

<?php 
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: POST, GET");
header("Access-Control-Allow-Headers: x-requested-with");
?>

我使用的 JSON 请求是标准的 JQuery:

function load() {
var url = 'https://maps.googleapis.com/maps/api/place/details/json?reference=CnRhAAAARMUGgu2CeASdhvnbS40Y5y5wwMIqXKfL-n90TSsPvtkdYinuMQfA2gZTjFGuQ85AMx8HTV7axABS7XQgFKyzudGd7JgAeY0iFAUsG5Up64R5LviFkKMMAc2yhrZ1lTh9GqcYCOhfk2b7k8RPGAaPxBIQDRhqoKjsWjPJhSb_6u2tIxoUsGJsEjYhdRiKIo6eow2CQFw5W58&sensor=true&key=xxxxxxxxxxxxxx';
$.ajax(url, {
async: true,
success: function(data, textStatus, jqXHR) {
dump(data);
}
});
}

我会改用 JSONP 查询,但 Google Places API 不支持 JSONP...我该如何解决这个问题?使用代理服务器?我不确定该怎么做或我做错了什么。

最佳答案

您请求数据的 URL 来自 必须使用访问控制 header 授予权限。它会破坏同源策略的对象,因为远程源可以向自己授予权限!

如果您使用的 API 不提供 JSON-P API,并且本身不设置访问控制 header ,那么您需要使用代理。您自己运行一个,或者将转换为 JSON-P 的第三方(例如 YQL )。

关于php - Javascript:跨域JSON请求问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6872683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com