2016-05-05 20 views
7

CONFIG FILE Tôi đang cố gắng gửi biểu mẫu trong một ứng dụng IOM Ionic.Gửi biểu mẫu trong Cordova

Đó là biểu mẫu thanh toán đưa người dùng đến trang thanh toán khi gửi.

Trên thiết bị iOS, ứng dụng có thể gửi và mở trang cổng thanh toán. Tuy nhiên không làm như vậy trong Android.

Khi tôi kiểm tra nhật ký, hai điều tôi nhận thấy là 'được đặt gốc-> Chế độ JS thành không' và Chủ đề được chỉ định mà không có tên.

Tôi đã thử mọi thứ có thể. Nhưng vẫn không có may mắn.

enter image description here

enter image description here

+1

Bạn đã thiết lập chính sách bảo mật nội dung-plugin và chính sách bảo mật nội dung (CSP) một cách chính xác chưa? Đặc biệt là CSP trong Android. – thepio

+1

@Karthik Bạn có thể đăng mã gửi biểu mẫu của mình không? – Gandhi

+0

@Karthink Đi theo dấu vết lỗi này - 'đặt native-> chế độ js thành null' tôi nhận thấy dấu vết lỗi tương tự trong liên kết sau - https://github.com/Microsoft/cordova-plugin-code-push/issues/86 Nếu bạn đang sử dụng ionic v2, bạn có thể vui lòng tạo lại một dự án mới, chuyển tất cả nội dung từ dự án cũ sang dự án mới và thử chạy lại một lần nữa không? – Gandhi

Trả lời

0

Trên các thiết bị iOS, nó có thể nộp và mở trang của cổng thanh toán. Tuy nhiên không làm như vậy trong Android.

Xin chào, tôi đã gặp sự cố tương tự với API javascript của đăng nhập facebook khi gửi.

Cài đặt plugin Cordova inappbrowser đã thực hiện thủ thuật cho tôi.

https://github.com/apache/cordova-plugin-inappbrowser


Ngoài ra nếu điều này không giải quyết vấn đề này, đây là những gì tôi sẽ làm ở vị trí của bạn: (tôi giả sử bạn có một máy chủ LAMP)

1) Gửi tất cả dữ liệu thanh toán của bạn bằng ajax tới tệp php để chèn dữ liệu vào cơ sở dữ liệu của bạn, sau đó trả lại id của dòng được chèn vào javascript của bạn và lưu nó trên biến số có tên là insertedPaymentId.

2) Tạo trang php trong máy chủ LAMP của bạn cho phép gọi nó;

http://www.yourdomain.com/paymentSubmit.php

3) Sau đó, sử dụng trong ứng dụng push trình duyệt insertedPaymentId đến tập tin paymentSubmit.php ngay sau nút gửi được nhấp và dữ liệu thanh toán được đưa đến cơ sở dữ liệu;

var ref = cordova.InAppBrowser.open('http://www.yourdomain.com/paymentSubmit.php?paymentID='+insertedPaymentId, '_blank', 'location=yes'); 

4) Đi mà insertedPaymentId biến trong paymentSubmit.php nộp với GET và chọn dữ liệu thanh toán từ cơ sở dữ liệu của bạn trên trang php này, sau đó sử dụng đầu vào "ẩn", đặt tất cả các dữ liệu trong trang này và có nút gửi như "Xác nhận thanh toán của bạn" như thế này;

<form action="secure.payu/_payment.php..."> 
<input id="amount" type="hidden" value="<?php $db['amount']; ?>"/> 
<input id="productinfo" type="hidden" value="<?php $db['productInfo']; ?>"/> 
<input id="firstname" type="hidden" value="<?php $db['firstname']; ?>"/> 
<input type="submit" value="Confirm"/> 
</form> 

Tại tình huống này những gì người dùng sẽ thấy là loại một popup trên ứng dụng của họ và yêu cầu họ xác nhận thanh toán, sau đó bạn đang thực sự trên một máy chủ LAMP và môi trường PHP, làm những gì bạn sẽ và nếu bạn được thực hiện với nội dung gửi của bạn, bạn có thể đóng cửa sổ đó bằng cách đọc thêm trên trình duyệt inappbrowser.

Hy vọng sẽ giúp, cập nhật cho tôi.

+0

Sẽ kiểm tra điều này. –