2016-03-31 12 views
1

javascript/ajax内からArangoDBコレクションに.jsonファイルを1つの文書として投稿しようとしています。Ajaxを使用してArangoDBに.jsonファイルを投稿する方法

私は(ArangoDBに)curlを使って.jsonファイルを投稿することができます。 AJAXを使って(ArangoDBに)簡単な{key:value}のペアを投稿できますが、橋が遠すぎる。私はこれまで数回泊りましたので、どんな助けも大変に感謝しています。前もって感謝します。なし(ここHTTP Interface for Bulk Imports

が小さい実施例である:

私のjavascriptのコードは、私があなたの代わりに/ _API /文書の/ _API /インポートを使用すべきだと思う。この

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); 

答えて

1

のように見えます承認):

$.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); 
      } 
     } 
     } 
    }); 
    } 

apiはいくつかの入力フォーマット:

1)単一の文書

{name: "Jonny"} 

2)複数のドキュメント(各行に1つのDOC)

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

3)JSONアレイ内の複数のドキュメント

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

ドキュメントapiからインポートapiへの切り替えがすべての違いをもたらしてくれてありがとう、私のコードが今働いています。ダンケ、グラツィー。 – Frank

+0

@Frankは答えを受け入れたとマークできますか? – dothebart

+0

マーキングが遅れて申し訳ありません、これは私の最初の投稿でした。私は受け入れボタンを見つけなければなりませんでした。再度ありがとう – Frank

関連する問題