Solr индексация CSV-файла с помощью jquery - PullRequest
0 голосов
/ 18 марта 2019

Я попробовал какой-то метод для этого, но я не мог как-то это сделать.У меня есть диалог открытия файла .csv, и у меня есть кнопка для начала индексации данных.Мои HTML-коды вроде этого

    <body>
    <div style="padding-left: 5%; padding-right: 5%; padding-top: 25px">
</div>
        <div id="wrapper" style="width: 100%; text-align: left">
            <img border="0" src="images//TEC.jpg" alt="TEC" width="170"
                height="75">
        <font size="6"> Electronic Archiving</font>
        </div>
        <br>
        <br>
        <br>
        <form id="indexForm" method="post" enctype="multipart/form-data">
        <div id="update" style="width:100%; text-align:left; margin-left:2.5em">
        <label for="updateFile">File:&nbsp;</label><input type="file" id="updateFile" style="position:fixed" accept=".csv">
        <br>
        <br>
        <div id="buton" style="margin-left:5em"><input type="button" value="UPDATE FILE" class="btn btn-sm" id="indexCSV"></div>
        </div>
        </form>
</body>

И мой jquery вот так

    <script>
$(document).ready(function(){
    $("#indexCSV").click(function(){
        var file=document.getElementById("updateFile").files[0];
        var formData=new FormData();
        formData.append('file',file);
        $.ajax({
            type:'POST',
            url:'http://localhost:8983/archiveCore/update?commit=true',
            dataType:'csv'
            contentType:'text/csv',
            processData:false\
            data:'formData',
            success:function(){
                window.alert("Data uploaded : ")
            }
        });
    });
});
</script>

Когда я нажимаю кнопку, никаких действий не происходит.Я не понимаю почему.

1 Ответ

1 голос
/ 18 марта 2019

В вашей логике есть несколько проблем. Во-первых, вам нужно передать formData как ссылку на переменную, а не строку. У вас также есть синтаксическая ошибка после processData, это должно быть ,, а не /. Значение этого свойства также должно быть false в этом случае.

Наконец, dataType следует изменить с text/csv на то, что вы ожидаете от сервера, чаще всего JSON или HTML. Вы можете полностью опустить это свойство и позволить jQuery выяснить сам формат ответа.

Вот обновленная версия:

$("#indexCSV").click(function() {
  var file = $("updateFile")[0].files[0];
  var formData = new FormData();
  formData.append('file', file);

  $.ajax({
    type: 'POST',
    url: 'http://localhost:8983/archiveCore/update?commit=true',
    contentType: false,
    processData: false,
    data: formData,
    success: function() {
      window.alert("Data uploaded : ")
    }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...