jQuery AJAX调用的POST调用

2020-09-26 18:28发布

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

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


专家们,

我正在对xsjs服务进行POST调用。 我不确定控制器端出了什么问题,无法读取响应。
当我在浏览器中独立打开服务时,我可以看到数据,但是通过UI会显示错误403-禁止。
请问我要去哪里错了。 是XSJS服务还是在控制器中。
感谢您的指导。

XSJS-

var conn = $ .hdb.getConnection();

var查询,结果;

尝试{

query ="从SCHEMA.TABLE_NAME中选择不同的CUST_NO,NAME,CNTRY_CODE";

结果= conn.executeQuery(查询);

conn.commit();

var输出= [[]];

for(var i = 0; i

{

output.push(results [i]);

}

output.shift();

conn.close();

$。response.setBody(JSON.stringify(output));

$。response.contentType ='application/json';

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

抓住(e){

$ .response.status = $ .net.http.INTERNAL_SERVER_ERROR; $ .response.setBody(e.message);

}

在CONTROLLER中调用AJAX-

jQuery.ajax({

类型:'POST',

contentType:'application/json',

url:"/z_demo1/services/cmsCurr.xsjs?action=Customer",

缓存:false,

异步:false,

beforeSend:功能(jqXHR1,设置){

jqXHR1.setRequestHeader('X-CSRF-Token',jqXHR1.getResponseHeader('X-CSRF-Token'))); },

成功:function(odata,response){

alert(" hi");

},

错误:function(jqXHR1,textStatus,errorThrown){alert(jqXHR1.responseText); },数据类型:" json"

},此);

谢谢

Supriya Sahu

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

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


专家们,

我正在对xsjs服务进行POST调用。 我不确定控制器端出了什么问题,无法读取响应。
当我在浏览器中独立打开服务时,我可以看到数据,但是通过UI会显示错误403-禁止。
请问我要去哪里错了。 是XSJS服务还是在控制器中。
感谢您的指导。

XSJS-

var conn = $ .hdb.getConnection();

var查询,结果;

尝试{

query ="从SCHEMA.TABLE_NAME中选择不同的CUST_NO,NAME,CNTRY_CODE";

结果= conn.executeQuery(查询);

conn.commit();

var输出= [[]];

for(var i = 0; i

{

output.push(results [i]);

}

output.shift();

conn.close();

$。response.setBody(JSON.stringify(output));

$。response.contentType ='application/json';

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

抓住(e){

$ .response.status = $ .net.http.INTERNAL_SERVER_ERROR; $ .response.setBody(e.message);

}

在CONTROLLER中调用AJAX-

jQuery.ajax({

类型:'POST',

contentType:'application/json',

url:"/z_demo1/services/cmsCurr.xsjs?action=Customer",

缓存:false,

异步:false,

beforeSend:功能(jqXHR1,设置){

jqXHR1.setRequestHeader('X-CSRF-Token',jqXHR1.getResponseHeader('X-CSRF-Token'))); },

成功:function(odata,response){

alert(" hi");

},

错误:function(jqXHR1,textStatus,errorThrown){alert(jqXHR1.responseText); },数据类型:" json"

},此);

谢谢

Supriya Sahu

付费偷看设置
发送
2条回答
暮风yp
1楼-- · 2020-09-26 19:07

嗨Supriya,

当从后端验证X-CSRF-Token时出现问题时,您会得到403-禁止错误。 请检查以下线程:

https://archive.sap.com/discussions/thread/3804252

nice_wp
2楼-- · 2020-09-26 19:09

实际上,在发出POST请求之前,您必须发送一个GET请求到后端以获取X-CSRF-Token,并且稍后在发出POST请求时使用此令牌值。 请参见下面的示例链接:

https: //stackoverflow.com/questions/39375310/how-to-handle-x-csrf-token-for-jquery-post-in-ui5

一周热门 更多>