2016-03-31 18 views
1

kullanarak bir .json dosyayı bir ArangoDB koleksiyonuna, bir javascript/ajax içinden tek bir belge olarak yayınlamaya çalışıyorum.Nasıl Ajax

Curl kullanarak .json dosyasını gönderebilirim (böylece çalışır (ArangoDB'ye) AJAX kullanarak basit {key: value} çiftleri gönderebilirim, böylece çalışır, ancak ikisi de Çok uzakta bir köprü. Bu kadar uzaklaşmaya çalışmak için birkaç gece geçirdim, bu yüzden herhangi bir yardım büyük ölçüde takdir edilecektir. şimdiden teşekkürler. olmadan (Burada HTTP Interface for Bulk Imports

küçük çalışma örneğidir:

Benim javascript kodu ben yerine/_api/belge/_api/ithalat kullanmak gerektiğini düşünüyorum bu

var database_URL = prompt("Please enter your URL", "http://xxx..xxx.xxxx.:8529/_db/collection_name/_api/document?collection=PA_Users&createCollection=false"); 

    var fd = new FormData(); 
    var selectedFile = document.getElementById('files').files[0]; 
    console.log(selectedFile.name);// this works 
    fd.append(selectedFile.name,selectedFile); 

var settings = { 
     url : database_URL, 
     type : "POST", 
     headers: { 
     'Authorization': "Basic " + btoa(username1 + ":" + passwrd1) 
     }, 
     data: fd, 
     processData: false, 
     success: function(data) { 
     // display feedback to user 
     alert("booyah"); 
    }, 
     error: function(data) { 
      // display feedback to user 
      alert("boo hoo"); 
     } 
    }; 

    $.ajax(settings); 

cevap

1

benziyor yetkilendirme):

$.ajax({ 
     type: "POST", 
     url: 
     '/_api/import?type=auto&collection=' + 
       encodeURIComponent(yourCollectionID) + 
     '&createCollection=false', 
     data: file, 
     processData: false, 
     contentType: 'json', 
     dataType: 'json', 
     complete: function(xhr) { 
     if (xhr.readyState === 4 && xhr.status === 201) { 
      callback(false); 
     } else { 
      try { 
      var data = JSON.parse(xhr.responseText); 
      if (data.errors > 0) { 
       // error 
      } 
      else { 
       // success 
      } 
      } 
      catch (err) { 
      console.log(err); 
      } 
     } 
     } 
    }); 
    } 

Birkaç giriş biçimleri:

1.) tek bir belge

{name: "Jonny"} 

2.) birden çok belge (her satırda bir doktor)

{name: "Jonny"} 
{name: "Adam"} 
{name: "Peter"} 

3.) JSON dizisinde birden çok belge

[{name: "Jonny"}, {name: "Adam"}, {name: "Peter"}] 
+0

Teşekkür ederim, belge api'den import api'ye geçiş tüm farkı yarattı ve kodum şimdi çalışıyor. Danke, Grazie. – Frank

+0

@Frank cevabı kabul edildi olarak işaretleyebilir misiniz? – dothebart

+0

kabul etmedeki gecikme için üzgünüz, bu benim ilk yazımdı ve kabul düğmesini bulmam gerekiyordu. – Frank