Как отправить запрос «положить» через javaScript и Ajax? - PullRequest
1 голос
/ 12 января 2011

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

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?

Для справки: Ячейки обновления

Вывод: a: [объект объекта]

b: неопределено

c:

1 Ответ

1 голос
/ 12 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...