gpt4 book ai didi

javascript - 是否可以在两个域之间发出请求?

转载 作者:行者123 更新时间:2023-11-28 06:40:22 27 4
gpt4 key购买 nike

是否可以使用 JavaScript 在域 www.site.mySiteName.comapi.mySiteName.com 之间发出 xhr 请求?

我需要从 API 实时获取数据,但我不知道该怎么做。

最佳答案

使其成为可能(向您的网页开放 API):

您可以在域之间执行 ajax 请求,但是主机必须允许您的来源。

您需要将 header 附加到响应中(这需要在 API 上完成):

Access-Control-Allow-Origin: *

或者类似的东西:

Access-Control-Allow-Origin: site.mySiteName.com

技术上,API 将响应任何来源,除非您另外指定,无论 header 如何;但是,如果现在允许您的来源,浏览器会说请求失败。

此外,您应该注意,根据请求,您的 API 必须支持预检“OPTIONS”请求

参见:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

How does Access-Control-Allow-Origin header work?

要在 JavaScript 中实际发出请求:

您可以使用jQueries“ajax”来发出请求:http://api.jquery.com/jquery.ajax/

简单的获取请求:

$.ajax({
method: "get",
url: "test.html",
}).done(function(data) {
console.log('got data:' + data);
});

简单的帖子请求:

$.ajax({
method: "post",
url: "test.html",
data: {somekey: 'somevalue'}
}).done(function(data) {
console.log('got data:' + data);
});

将响应格式设置为 JSON:

$.ajax({
method: "get",
url: "test.html",
dataType: "json"
}).done(function(data) {
console.log('got data:' + data);
});

注意(编辑):您可以在 native JavaScript 中执行此操作;另一方面,使用 jQuery 或 AngularJS(一个完整的应用程序框架..)更简单,并且添加了其他有用的工具。

关于javascript - 是否可以在两个域之间发出请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33878138/

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