2013-04-03 2 views
0

Я пытаюсь извлечь данные из определенной ячейки на свою веб-страницу с помощью jquery/ajax.Ошибка Google Spreadsheet IE с использованием ajax

Код:

$.ajax({ 
url: "https://docs.google.com/spreadsheet/pub?key=0AsVuHqMG8OuHdDEtdWxUMUxjTUR4R3BPNFk0S25TcFE&range=d4&output=csv", 
success:function(result) { 
alert(result); 
} 
}); 

Это работает отлично в Firefox, Chrome и Safari, но ничего не happending в IE9 и ниже, и я не знаю, почему. Консоль также не бросает никаких ошибок. Любая помощь приветствуется.

+0

вставлял URL в IE10, загружался как файл CSV просто отлично. – eddyparkinson

ответ

0

Я уверен, что вы не можете использовать стандартный запрос AJAX к URL-адресу, который вы используете. Этот URL будет перенаправлять вас несколько раз, пока вам не будет предоставлен загружаемый файл, а не тот, с которого вы сможете получить данные.

Я бы предложил посмотреть документацию "Simple example of retrieving JSON feeds from Spreadsheets Data API", так как это дает вам возможность извлекать данные из GSS как JSON.

В основном ...

Сначала добавьте файла JavaScript свой сайт следующим образом ...

<script src="http://spreadsheets.google.com/feeds/list/*ID*/*WS*/public/values?alt=json-in-script&amp;callback=*FN*"></script> 

• Где * ID * является электронной таблицы долго ID.

• Где * WS * - номер листа, например. 1,2,3 и т.д.

• Где * FN * это функция, которую вы хотите позвонить.

Затем, используя функцию обратного вызова, вы можете делать то, что вы хотите с ней, например.

function callBackFunc(json){ 

    // Loop through all returned data 
    for(i = 0; i < json.feed.entry.length; i++;){ 

     // Each row of data 
     entry = json.feed.entry[i]; 

     // Each cell is called gsx$ CELL HEADING .$t; 
     cell1 = entry.gsx$firstCellHeading.$t; 
     cell2 = entry.gsx$blahblahblah.$t; 

    } 
} 

Я использую этот метод, чтобы заполнить много информации на веб-сайт нашей компании, так как мы не имеем CMS, что позволяет любому сотруднику обновлять информацию на сайте, используя ГСБ, что они были даны разрешений для редактирования.

EDIT

я забыл упомянуть, что этот метод также получает вокруг любых перекрестных вопросов домена, IE 9 и ниже имеют проблемы с, так что нет необходимости беспокоиться о CORS и необходимости конвертировать в XDR для IE.

С положительной стороны XHR поддерживается в IE 10 :) не может дождаться, когда это произойдет, и IE9 исчезнет.

Смежные вопросы