gpt4 book ai didi

javascript - 通过 Ajax 获取 CSV 避免 CORS

转载 作者:行者123 更新时间:2023-11-30 15:42:05 25 4
gpt4 key购买 nike

<分区>

我有一个使用 ZingChart 的页面并通过 Ajax 从其他域中的多个 URL 加载数据。数据在 CSV 文件中,例如:

1, 2, 3, 4, 5

或者:

2.34,1.01,4.56

我需要的是访问这些文件并以这种方式为 ZingChart 构造一个 JSON:

{"data":[THE_CSV_GOES_HERE], "name":"WHATEVER"}

我的第一个问题是我遇到了常见的 CORS 问题(我仍然不太了解它的用处),并且由于我无法控制托管 CSV 的服务器,我将此解决方法用作 explained here :

$.ajax({
url:"http://otherdomain/test.csv", // This is dynamically placed
dataType: 'jsonp',
success:function(res){
return res;
},
error:function(r, error){
alert("Error " + error);
}
});

这引发了一个parsererror,我想是因为 CSV 不是 json 格式。

如果我使用“text”而不是“jsonp”,我会收到 CROS 错误(请求的资源上不存在“Access-Control-Allow-Origin” header 。)如果我使用“jsonp 文本”,如 documentation ,我仍然得到 parsererror。如果我使用 crossDomain: true, dataType: 'text' 强制一个 crossDomain 但指定它是文本,我仍然会收到 CORS 错误。

看来我遇到了与 this person 类似的问题.

我该如何克服这个问题?我无法相信在现代 Web 中不可能在不刷新页面的情况下从分布式服务器获取文本字符串。它看起来像一个强大的限制。事实上,我认为应该能够允许跨域的是客户端,而不是外部服务器(通常在客户端的控制之外)。

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