【发布时间】:2020-06-30 03:50:05
【问题描述】:
我编写了这段代码,它将读取 CSV 文件并将项目添加到 SharePoint 列表。它正在工作,但它两次添加相同的项目。它从上到下添加,然后再次添加整个项目。
它正确读取项目并正确添加。但我无法弄清楚为什么代码会运行两次。
$(function() {
$("#upload").bind("click", function() {
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
if (regex.test($("#fileUpload").val().toLowerCase())) {
if (typeof(FileReader) != "undefined") {
var reader = new FileReader();
reader.onload = function(e) {
var rows = e.target.result.split("\n");
console.log(rows);
for (var i = 1; i < rows.length; i++) {
var cells = rows[i].split("|");
var item = {
"__metadata": {
"type": "SP.Data.TestCatalogListItem"
},
"Title": cells[0],
"CityTitle": cells[1],
"FirstName": cells[3],
"LastName": cells[4]
}
_createListItem(item);
}
}
reader.readAsText($("#fileUpload")[0].files[0]);
} else {
alert("This browser does not support HTML5.");
}
} else {
alert("Please upload a valid CSV file.");
}
});
});
function _createListItem(listItems, success, failure) {
$.ajax({
url: "https://mysite/_api/web/Lists/getbytitle('TestCatalog')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(listItems),
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function(data) {
//success(data);
},
error: function(data) {
//failure(data);
}
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" />
</body>
非常感谢任何帮助。
【问题讨论】:
标签: jquery sharepoint sharepoint-2013 sharepoint-online sharepoint-designer