通过POST执行XSJS服务

2020-08-31 18:55发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我是SAP UI5开发的新手,目前遇到问题。

我正在尝试使用File Uploader组件导入文件,到目前为止,我已经设置了XSJS来调用REST服务来处理上传的文件。

我做到了,

我的观点:

id =" fileUploader"

name =" myFileUpload"

uploadOnChange =" false"

uploadUrl =" ../WebContent/service/fileImport.xsjs?cmd = inserir"

width =" 400px"

tooltip ="将文件上传到本地服务器"

/>

控制器:

onImport:function(){

var oFileUploader = this.getView()。byId(" fileUploader");

oFileUploader.upload();

}

XSJS文件(仅测试内容,上传时必须更改此内容):

function inserir(){

var body =" test";

$ .response.setBody(body);

$ .response.contentType ="文本/纯文本";

$ .response.status = $ .net.http.OK;

}

var acmd = $ .request.parameters.get(" cmd");

switch(acmd){

case" inserir":inserir(); break;

默认值:

$ .response.status = $ .net.http.OK;

$ .response.setBody(" inavalid:" + acmd);

}

但是,当我运行此代码时,选择一些文件并单击按钮,我会收到:

http://HOST:PORT/PROJECT/WebContent/service/fileImport.xsjs?cmd = inserir 403(禁止访问)

我真的不知道为什么我被禁止访问。 如果我使用其他Rest插件,例如Advanced Rest Client(Chrome),我也会收到此FORBIDDEN错误。 虽然,当我选择POST并直接在浏览器(GET)上调用此XSJS或通过Advanced Rest Service中的GET调用时,我能够正确执行。

所以,我的问题是通过POST执行此XSJS。

有人可以帮我吗? 是否缺少一些步骤?

预先感谢

最好的问候

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我是SAP UI5开发的新手,目前遇到问题。

我正在尝试使用File Uploader组件导入文件,到目前为止,我已经设置了XSJS来调用REST服务来处理上传的文件。

我做到了,

我的观点:

id =" fileUploader"

name =" myFileUpload"

uploadOnChange =" false"

uploadUrl =" ../WebContent/service/fileImport.xsjs?cmd = inserir"

width =" 400px"

tooltip ="将文件上传到本地服务器"

/>

控制器:

onImport:function(){

var oFileUploader = this.getView()。byId(" fileUploader");

oFileUploader.upload();

}

XSJS文件(仅测试内容,上传时必须更改此内容):

function inserir(){

var body =" test";

$ .response.setBody(body);

$ .response.contentType ="文本/纯文本";

$ .response.status = $ .net.http.OK;

}

var acmd = $ .request.parameters.get(" cmd");

switch(acmd){

case" inserir":inserir(); break;

默认值:

$ .response.status = $ .net.http.OK;

$ .response.setBody(" inavalid:" + acmd);

}

但是,当我运行此代码时,选择一些文件并单击按钮,我会收到:

http://HOST:PORT/PROJECT/WebContent/service/fileImport.xsjs?cmd = inserir 403(禁止访问)

我真的不知道为什么我被禁止访问。 如果我使用其他Rest插件,例如Advanced Rest Client(Chrome),我也会收到此FORBIDDEN错误。 虽然,当我选择POST并直接在浏览器(GET)上调用此XSJS或通过Advanced Rest Service中的GET调用时,我能够正确执行。

所以,我的问题是通过POST执行此XSJS。

有人可以帮我吗? 是否缺少一些步骤?

预先感谢

最好的问候

付费偷看设置
发送
4条回答
小灯塔
1楼-- · 2020-08-31 19:46

我怀疑您在xsaccess文件中将prevent_xsrf设置为true。 因此,对服务的任何非GET请求都将要求在标头中发送XSRF令牌。 您的客户端没有任何逻辑来请求或发送此XSRF令牌。 您要么需要禁用prevent_xsrf保护,要么将XSRF令牌处理添加到您的请求中。

大简至美
2楼-- · 2020-08-31 19:31

这对我有所帮助。 谢谢!!!

xfwsx85
3楼-- · 2020-08-31 19:31

对!!! 就像我说的,我是新来的。

您有任何建议如何将上传的该文件发送到通话中吗?

在此先感谢您的帮助!

注意

空代码
4楼-- · 2020-08-31 19:32

一周热门 更多>