2011-01-12 2 views
1

Meine Daten sind ein XML-Element & Ich möchte PUT Anfrage mit JavaScript senden. Wie mache ich das ?Wie sende ich put Anfrage mit Daten als XML-Element, von JavaScript?

Zum Vergleich: Update Cell

EDIT: Wie pro fredrik vorgeschlagen, tat ich dies:

<form id="submitForm" method="PUT" enctype="application/atom+xml" action="https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/od6/private/full/R2C1"> 
      <entry xmlns='http://www.w3.org/2005/Atom' xmlns:gs='http://schemas.google.com/spreadsheets/2006'> 
       <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/od6/private/full/R2C1'/> 
       <gs:cell row='2' col='1' inputValue='300'/> 
      </entry> 
      <input type="submit" value="submit"/> 
     </form> 

Es ist jedoch nicht schreiben zurück, aber positiv gibt es XML-Datei wie:

<?xml version='1.0' encoding='UTF-8'?> 
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gs='http://schemas.google.com/spreadsheets/2006' xmlns:batch='http://schemas.google.com/gdata/batch'> 
    <id>https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/od6/private/full/R2C1</id> 
    <updated>2011-01-11T07:35:09.767Z</updated> 
    <category scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#cell'/> 
    <title type='text'>A2</title> 
    <content type='text'></content> 
    <link rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/od6/private/full/R2C1'/> 
    <link rel='edit' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/od6/private/full/R2C1/1ekg'/> 
    <gs:cell row='2' col='1' inputValue=''></gs:cell> 
</entry> 

Hier ist der Eingabewert leer! Es ist jedoch 300 in meiner XML-Zeichenfolge. Jede weitere Lösung für das gleiche?

+0

Bitte überprüfen Sie den Link, der besagt, dass ich zurück in die Tabelle schreiben möchte. –

Antwort

1

Da das HTTP-Protokoll nur das Senden von Zeichenketten unterstützt, bin ich mir nicht sicher, ob Sie dazu in der Lage sind. Aber was Sie versuchen könnten, ist jQuery's ajax method zu verwenden und die Methode zu PUT und Inhaltstyp zu ändern und ein serialisiertes XML zu senden.

Die jQuery-Dokumentation sagt:

Die Art der Anfrage zu machen ("POST" oder "GET"), Standard ist "GET". Hinweis: Andere HTTP-Anforderungsmethoden wie PUT und DELETE können hier ebenfalls verwendet werden, sie werden jedoch nicht von allen Browsern unterstützt.

einen Ajax-Aufruf aufrufen:

$.ajax({ 
    url: 'ajax/test.html', 
    type: 'PUT', 
    contentType: 'text/xml', 
    processData: false, 
    data: xmlDocument, 
    success: function(data) { 
    console.log(data); 
    } 
}); 

Hoffe, dass es funktioniert.

EDIT: Bitte geben Sie einige weitere Informationen/Code auf, was Sie zu tun versuchen.

+0

Danke fredrik, aber ich will das gleiche ohne AJAX. –

+0

Es ist dasselbe, das auf dem Link angegeben ist, den ich zur Verfügung gestellt habe. –

+0

Wie würdest du es sonst machen? "Ich möchte PUT Anfrage mit JavaScript senden". Wenn Sie AJAX nicht verwenden, ist es ein normaler HTML-Post. Wo haben Sie Ihre XML-Daten? – fredrik

Verwandte Themen