我有一个小问题,不能检索csv响应。无法通过ajax请求获取CSV文本
有可以在这里找到link to csv
我想检索该数据为csv,但有一个与在效应初探特殊字符的问题。
我successfuly收到的数据,但是随后的jQuery试图对其进行解码并通过语法错误: 我的要求是:
$.ajax({
url: 'http://toolserver.org/~daniel/WikiSense/Contributors.php?wikilang=en&wikifam=.wikipedia.org&page=Cloud+computing&since=&until=&grouped=on&order=-edit_count&max=1000&order=-edit_count&format=csv',
dataType: "script",
success: function(data){
alert('success');
},
error: function(test1, test2, test3) {
alert('error');
}
});
的误差(原子%字符指向)
SyntaxError: syntax error
1004+%28922%2F82%29,SamJohnston,2008-07-26+09%3A40,2013-03-07+18%
我也尝试将dataType设置为文本以便不解码数据。在这种情况下,我得到了ajax请求的错误。
$.ajax({
url: 'http://toolserver.org/~daniel/WikiSense/Contributors.php?wikilang=en&wikifam=.wikipedia.org&page=Cloud+computing&since=&until=&grouped=on&order=-edit_count&max=1000&order=-edit_count&format=csv',
dataType: "text",
success: function(data){
alert('success');
},
error: function(test1, test2, test3) {
alert('error');
}
});
我试图与阿贾克斯进行实验()的contentType参数,数据类型scriptCharset等它没有帮助。
每当我遇到这个交叉来源问题时。在这种情况下,它最终是一个简单的纯文本,我试图检索。这可能是什么原因违反了交叉来源政策?把这个URL放到浏览器中并显示这个纯文本有什么不同?不幸的是服务器不在我的控制之下。 – eveferon 2013-03-25 08:15:59
@eveferon:用户从完全不同的位置加载请求资源的网页与用户自己做的网页(通过将URL粘贴到地址栏中)之间存在巨大差异。 SOP有几个原因,您可能会发现[此问题及其答案](http://stackoverflow.com/questions/1830050/why-same-origin-policy-for-xmlhttprequest)有帮助。 – 2013-03-25 08:35:39
谢谢你的回答。我确信有很多人想知道同一个问题。因此,针对具有相同问题的人的简化消息是:如果您的浏览器显示来自外部域的内容并且有权访问相应的对象,则这并不一定意味着您可以通过编程方式访问它。 – eveferon 2013-03-25 14:30:08