2011-01-12 3 views
1

Я должен программно писать в таблицу. Это позволяет мне писать в определенную ячейку таблицы. Мой код:как отправить запрос «put» через javaScript & Ajax?

function update(){ 
       jQuery.ajax({ 
        type: 'PUT', 
        contentType: "application/atom+xml", 
        url: "https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/od6/private/full/R2C1", 
        dataType: "xml", 
        data: "new.xml", 
        success: function() { 
         alert('Put Success'); 
        }, 
        error: function(a,b,c) { 
         console.log("XMLHttpRequest: " + a); 
         console.log("textStatus: " + b); 
         console.log("errorThrown: " + c); 
         alert("XMLHttpRequest : " + a + " textStatus : " + b + " errorThrown : " + c); 
        } 
       }); 
      } 

Я могу написать в электронную таблицу, используя только элемент xml. Таким образом, я создал (new.xml):

<entry> 
    <id>https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/od6/private/full/R2C1</id> 
    <link rel="edit" type="application/atom+xml" 
    href="https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/worksheetId/private/full/R2C1"/> 
    <gs:cell row="2" col="1" inputValue="300"/> 
</entry> 

Но, мой код он все еще бросает ошибку. Я думаю, что это связано с файлом XML, который я пишу. Я думаю, создание new.xml - моя ошибка. Пожалуйста, предложите, как писать? Как создать элемент xml?

Для Referece: Update Cells

Выход: : с [объект Object]

б: неопределенными

с:

+0

Это может помочь, если вы сказали нам, что это за ошибка! Я подозреваю, однако, что проблема заключается в том, что вы пытаетесь выставить строку, состоящую из имени файла, а не XML (т.е. 'data: 'new.xml'' должны быть' data:' и т. Д. И т. Д. – Quentin

+0

данные: ' ...' не является правильной строкой и дает ошибку. Позвольте мне добавить, что ошибка в предыдущем случае. –

ответ

1

Благодаря same origin policy restriction вы не можете отправить AJAX запросы Междоменное , Здесь вы пытаетесь отправить запрос AJAX на https://spreadsheets.google.com, и если ваш сайт размещен на https://google.com, это не сработает. Чтобы попытаться обойти это ограничение, вы могли бы написать серверный скрипт на своем сервере, который будет служить мостом между вашим доменом и google.com. Затем вы можете отправить запрос AJAX на свой скрипт, который будет делегировать.

+0

Но это указано в документации Google. Это не на моем сайте. Это только в Google Doc, что я доступ к использованию с помощью моего Gmail. Либо какой другой способ/решение? –

+0

@Sarang, не могли бы вы указать, где этот код указан в документации? –

+0

Я не говорю о коде, он, как говорят, делает это ... Посмотрите для вывода! –

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