У меня есть небольшая проблема, заключающаяся в том, что вы не можете получить ответ csv.Невозможно получить текст CSV через запрос ajax
Там есть CSV можно посмотреть здесь link to csv
Я пытаюсь получить эти данные, однако существует проблема со специальными символами в réponse.
Я успешно Получать данные, но затем 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%
Я также попытался установить тип данных в текст, чтобы не расшифровать данные. В этом случае я получаю сообщение об ошибке для запроса 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');
}
});
Я пытался экспериментировать с .ajax() параметры CONTENTTYPE, DATATYPE, scriptCharset и т.д. Это не поможет.
Каждый раз, когда я сталкиваюсь с этой проблемой кросс-происхождения. В этом случае это простой простой текст, который я пытаюсь извлечь. Что может быть причиной этого, чтобы нарушить политику кросс-происхождения? Что отличает меня от этого URL-адреса в браузере и отображения этого простого текста? К сожалению, сервер не находится под моим контролем. – eveferon
@eveferon: существует огромная разница между веб-страницей, которую пользователь загружает, запрашивая ресурс из совершенно другого местоположения, и сам пользователь делает это (путем вставки URL-адреса в адресную строку). Существует несколько причин для SOP, вы можете найти [этот вопрос и его ответ] (http://stackoverflow.com/questions/1830050/why-same-origin-policy-for-xmlhttprequest). –
Благодарим вас за ответ. Я уверен, что многие люди задаются вопросом о том же вопросе. Таким образом, упрощенное сообщение для людей, имеющих одну и ту же проблему: Если ваш браузер отображает что-то из чужого домена и имеет доступ к соответствующим объектам, это не обязательно означает, что вы можете получить доступ к нему программно. – eveferon