gpt4 book ai didi

ajax - 如何在服务器上启用跨域请求?

转载 作者:行者123 更新时间:2023-12-03 21:45:21 25 4
gpt4 key购买 nike

我的服务器上托管有一个 json 文件。当我尝试向 json 文件发出 Ajax“GET”请求时,它失败了。

在 Safari 中查看控制台,显示“无法加载资源”。

Firebug 显示“200 OK”,但未显示响应。即使 Firebug 也不显示 JSON 选项卡。

我相信这是因为使用 AJAX 不允许跨域请求。

我想知道如何克服这个问题?另外,如果我想在我的服务器上启用跨域请求,我相信需要创建一个 crossdomain.xml 文件或其他内容。我不确定,但这就是我所知道的。我在 Google 上搜索,但找不到任何相关链接。

非常感谢您对此的任何帮助。

谢谢。

更新:我没有使用任何服务器端脚本语言(PHP、ASP.NET 等)。我正在使用纯 HTML 和 JavaScript/jQuery。

更新2:

我使用以下代码来发出跨域请求:

<script src="jquery-1.6.2.js"></script>
<script>
$(document).ready(function () {
$.ajax({
dataType: 'jsonp',
data: '',
jsonp: 'jsonp_callback',
url: 'http://myhosting.net/myjsonfile.json',
success: function (jsonData) {
alert("success")
alert(jsonData);
},
error: function(errorObj) {
alert(errorObj.statusText);

},
});
});

当我在 Firebug 的“Net”选项卡中看到一个 JSON 选项卡时,我能够看到 json 响应。但是,“成功”回调处理程序不会被调用,但“错误”回调处理程序会被调用,并且我收到警告:parseerror

知道可能出了什么问题吗?

最佳答案

Access-Control-Allow-Origin: http://yourdomain-you-are-connecting-from.com

在目标服务器上

在 PHP 中:

 header("Access-Control-Allow-Origin: http://yourdomain-you-are-connecting-from.com");

如果您不想使用服务器脚本语言:将其放入(linux)控制台

a2enmod headers

并在您的 .htaccess 文件中添加

Header set Access-Control-Allow-Origin: http://yourdomain-you-are-connecting-from.com

关于ajax - 如何在服务器上启用跨域请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6871021/

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