XSJS在文件中返回响应,并在json中添加响应转储

2020-08-21 17:41发布

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

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


你好同事

我有一个XSJS脚本,该脚本生成一个请求并将响应类型设置为Application/Json

 function GetDataFromAPI(){


     var data = {" index":[" TABLE"]};
     var jdata = JSON.stringify(data);
 var destination = $ .net.http.readDestination(" reposiory.namespace.lazyrequest"," destinationFile");
     var client = new $ .net.http.Client();
 var request = new $ .net.http.Request($。net.http.POST,"/img/data/query/");
 request.headers.set(" Authorization"," eyJhbxuiasdasdasdasudhasdhasiuhdauidasdhaisdhashd");
//当然,具有授权标头是一种违反行为,而不是最佳实践,但是为了测试它,我做了一个例外。 代码可以工作,但是会生成一个文件而不是json响应。 尝试将螺丝数据字符串化为文字。
 request.headers.set(" Content-Type"," Application/json");
     request.setBody(jdata);
 client.request(请求,目的地);

 var response = client.getResponse();
 var RESULT = response.body.asString()。replace(/\\/g,"").replace(/"/img/g,"");
 var jres = JSON.stringify(response.body.asString());
 var clean =(jres.replace(/\\/g,""))




 $ .response.status = $ .net.http.OK;
 $ .response.headers.set(" Content-Type"," Application/json");
//$.response.contentType =" application/json";
//$ .response.headers.set(" Access-Control-Allow-Origin"," *");
//返回{
//sessionId:response.cookies.get(" xsSessionId"),
//csrfToken:response.headers.get(" x-csrf-token")
//状态:"确定:" + response.status
//};
//$。response.setBody(" OK:" + response.status);
//var response1 =响应;
//$.response.setBody((response));//{}[0][0]
                //$.response.setBody(JSON.stringify(response));//返回{}

 $ .response.setBody((response)); //
//返回名称为nameofxsjs.xsjs的文件
//HTTP/1.1 200 OK
//内容类型:application/json
//服务器:nginx/1.15.6
//date:2020年3月25日,星期三03:58:18 GMT
//内容长度:6643153
//连接:保持活动状态
//vary:接受编码
//变化:接受
//allow:GET,POST,HEAD,OPTIONS
//x-frame-options:SAMEORIGIN
//access-control-allow-origin:*
//access-control-allow-methods:GET,POST,OPTIONS
//access-control-allow-headers:DNT,X-Mx-ReqToekn,Keep-Alive,X-Requested-With,If-Modified-Since,Cache///Control,Content-Type,Authorization

//{json有效负载


//}


 GetDataFromAPI();
 

结果:返回响应,它会生成一个具有XSJS名称的文件

在生成的XSJS文件中,我看到状态,允许的方法信息以及json响应(数据)

步骤:我无法进行字符串化,因为它返回一个空数组。

ReolutionSteps:我被迫对响应进行asString()。replace('chars')

我希望你能理解我所面临的。

请让我知道如何轻松进行操作。我需要正确的json响应。

Br

Asgariel

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

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


你好同事

我有一个XSJS脚本,该脚本生成一个请求并将响应类型设置为Application/Json

 function GetDataFromAPI(){


     var data = {" index":[" TABLE"]};
     var jdata = JSON.stringify(data);
 var destination = $ .net.http.readDestination(" reposiory.namespace.lazyrequest"," destinationFile");
     var client = new $ .net.http.Client();
 var request = new $ .net.http.Request($。net.http.POST,"/img/data/query/");
 request.headers.set(" Authorization"," eyJhbxuiasdasdasdasudhasdhasiuhdauidasdhaisdhashd");
//当然,具有授权标头是一种违反行为,而不是最佳实践,但是为了测试它,我做了一个例外。 代码可以工作,但是会生成一个文件而不是json响应。 尝试将螺丝数据字符串化为文字。
 request.headers.set(" Content-Type"," Application/json");
     request.setBody(jdata);
 client.request(请求,目的地);

 var response = client.getResponse();
 var RESULT = response.body.asString()。replace(/\\/g,"").replace(/"/img/g,"");
 var jres = JSON.stringify(response.body.asString());
 var clean =(jres.replace(/\\/g,""))




 $ .response.status = $ .net.http.OK;
 $ .response.headers.set(" Content-Type"," Application/json");
//$.response.contentType =" application/json";
//$ .response.headers.set(" Access-Control-Allow-Origin"," *");
//返回{
//sessionId:response.cookies.get(" xsSessionId"),
//csrfToken:response.headers.get(" x-csrf-token")
//状态:"确定:" + response.status
//};
//$。response.setBody(" OK:" + response.status);
//var response1 =响应;
//$.response.setBody((response));//{}[0][0]
                //$.response.setBody(JSON.stringify(response));//返回{}

 $ .response.setBody((response)); //
//返回名称为nameofxsjs.xsjs的文件
//HTTP/1.1 200 OK
//内容类型:application/json
//服务器:nginx/1.15.6
//date:2020年3月25日,星期三03:58:18 GMT
//内容长度:6643153
//连接:保持活动状态
//vary:接受编码
//变化:接受
//allow:GET,POST,HEAD,OPTIONS
//x-frame-options:SAMEORIGIN
//access-control-allow-origin:*
//access-control-allow-methods:GET,POST,OPTIONS
//access-control-allow-headers:DNT,X-Mx-ReqToekn,Keep-Alive,X-Requested-With,If-Modified-Since,Cache///Control,Content-Type,Authorization

//{json有效负载


//}


 GetDataFromAPI();
 

结果:返回响应,它会生成一个具有XSJS名称的文件

在生成的XSJS文件中,我看到状态,允许的方法信息以及json响应(数据)

步骤:我无法进行字符串化,因为它返回一个空数组。

ReolutionSteps:我被迫对响应进行asString()。replace('chars')

我希望你能理解我所面临的。

请让我知道如何轻松进行操作。我需要正确的json响应。

Br

Asgariel

付费偷看设置
发送
2条回答
clasier
1楼 · 2020-08-21 18:18.采纳回答

大家好! 解决了这个问题。

只需带走Javascript。

JSON.parse(response)将您的响应内容转换为正确的json,我再也不会在内存中忘记它了。 只需一行。

小灯塔
2楼-- · 2020-08-21 18:21

您好好友,您能不能发布您的代码,以便我们在@ end检出!!!

一周热门 更多>