我有一个页面,其中包含付款系统所需的字段。提交此表单,我致电服务部门向该系统发送请求。结果,我被重定向到支付系统页面,我可以在那里付款。付款完成后,我会再次重定向到我的页面,请求从中发送。 问题是我无法从我的组件中的支付服务器捕获响应,尽管事实上我可以在开发工具的网络选项卡中看到该响应。
服务中的方法
>>> text = 'this is sample\ntext\n'
>>> print text
this is sample
text
>>> pattern = 'sample$'
>>> mo = re.search(pattern, text)
>>> mo.group()
Traceback (most recent call last):
File "<pyshell#348>", line 1, in <module>
mo.group()
AttributeError: 'NoneType' object has no attribute 'group'
>>> mo = re.search(pattern, text, re.MULTILINE)
>>> mo.group()
'sample'
这就是我在组件中调用服务的方式
sendXMLToFondy(request: RequestFondyViewModel): Observable<any> {
let body = `
<?xml version="1.0" encoding="UTF-8"?>
<request>
<response_url>${request.response_url}</response_url>
<server_callback_url> ${request.server_callback_url}</server_callback_url>
<order_id> ${request.order_id}</order_id>
<order_desc> ${request.order_desc}</order_desc>
<currency>${request.currency}</currency>
<amount>${request.amount}</amount>
<signature>${request.signature}</signature>
<merchant_id>${request.merchant_id}</merchant_id>
</request>
`;
return this._http.post("https://api.fondy.eu/api/checkout/url/", body)
.map((response: Response) => {
let res = response.text();
return res;
});
}
我在.map(在服务中)和.subscribe(在组件中)中放置的运算符不会被执行。
答案 0 :(得分:0)
在我的申请中,我也面临同样的问题。我通过在我的服务中实现回调函数解决了这个问题,如:
public paymentGateway(request: Customer, callback) {
this.http.post(url, request).map(res => res.json()).subscribe((res) => {
return callback(res);
});
}
在组件中代码如下:
public onPaymentGateway(request: Customer) {
this.service.paymentGateway(request, (res) => {
console.log(res);
});
}