如何使用ajax调用+;javascript

如何使用ajax调用+;javascript,javascript,ajax,excel,sapui5,Javascript,Ajax,Excel,Sapui5,我使用sapui5\uJavaScript创建了一个具有NDWS的应用程序。我在视图中有一个表,其中包含一些数据(数据与服务器上的数据库同步)。我想从表中检索数据并将其导出到excel中(因此需要单独的excel文档)。这是我的扳机: var oExportToExcelButton = new sap.ui.commons.Button( { text : "Export to Excel", width : '120px',

我使用sapui5\uJavaScript创建了一个具有NDWS的应用程序。我在视图中有一个表,其中包含一些数据(数据与服务器上的数据库同步)。我想从表中检索数据并将其导出到excel中(因此需要单独的excel文档)。这是我的扳机:

var oExportToExcelButton = new sap.ui.commons.Button( {
            text : "Export to Excel",
            width : '120px',
            style : sap.ui.commons.ButtonStyle.Emph,
            press : function() {

                var jsonDataObject = oController.model.getProperty("/matreqs");
                var taskIdFromView = sap.ui.getCore().byId("taskId").getValue();
                var jsonData = JSON.stringify(jsonDataObject);

                $.ajax("api/wpi/processrequest/getexcelexportfile?taskId="
                    + taskIdFromView, {
                    context : this,
                    type : "POST",
                    processData : false,
                    contentType : "application/json",
                    data : jsonData,
                    error : function(request, status, error) {
                        console.log(error);
                    },
                    success : function(data) {
                        oController.getRequestParameterValue();
                        console.log(data);
                        top.close();
                    }
                });
            }
        });
getRequestParameterValue()是控制器中的一个函数:

getRequestParameterValue: function(name) {
        var half = location.search.split("&" + name + "=")[1];

        if (!half) half = location.search.split("?" + name + "=")[1];

        return half ? decodeURIComponent(half.split("&")[0]) : null;
    })

我对编程非常陌生,如果我的解释不太清楚,我很抱歉。欢迎任何帮助

因为您已经可以使用
oController.model访问按钮事件中的数据
.getProperty(“/matreqs”)
在客户端,您应该能够将数据发送到服务器端服务(例如Java Servlet)。这应该考虑将数据转换为有效的Excel文件

你可以用这个。这对我来说很好

如果您需要更多信息,请告诉我。

已解决:)谢谢!对不起,迟了答复