调用后端、多路径变量、Ext Js

Make Call to Back-end, Multiple Path Variables, Ext Js

本文关键字:Ext Js 变量 多路径 后端 调用      更新时间:2023-09-26

我有一个RESTful调用,我想对应用程序的后端进行调用。前端使用ExtJS(JavaScript)编写,后端使用JAVA,使用Hibernate。该应用程序使用MVC设计模式。

在后端,我有一个GET请求端点,其"映射"类似于:thing/{thingOne}/otherThing/{thingTwo}

ExtJS在其存储中提供了许多函数,用于通过模型的代理访问后端:.load().save().remove()。其中的每一个都能够为其[options]参数取多个自变量;然而,我试图找到一些文档,向我展示如何向后端GET端点发出多参数请求,但到目前为止还没有找到。

我的假设是,根据.save().remove()的文档,调用的结构将类似于:.load("param1", "param2")。这是医生。用于保存、删除和加载。

那么,如何使用多个参数对后端进行GET调用呢?我甚至在正确的范围内吗?

您可以在代理上使用"外部参数"。

sencha api 4.2.2-商店上的外部参数

    var formOperation = [];
    var example = {"city":"Manchester"};
    Ext.Object.merge(formOperacion,example);
    store.getProxy().extraParams = formOperation;
    store.load();

另一种解决方案:

Sencha api-store-动态加载

store.load({
    params: {
        group: 3,
        type: 'user'
    },
    callback: function(records, operation, success) {
        // do something after the load finishes
    },
    scope: this
});

将请求的URL构建为串联字符串,包括参数:

var requestUrl = 'thingOne/' + thingOneVar + '/otherThing/' + otherThingVar;

请注意,您的"已构建"string是否应该以/为前缀取决于您的模型代理的配置方式。本质上,您的目标是一个合法的请求url。

并通过代理发出请求(这里,我使用的是AJAX):

Ext.Ajax.request({
    url : requestUrl,
    // ....
});

然后需要通过回调或作为promise来处理。