Как вызвать функцию в поле перенаправления?
Думаю, будет лучше сначала показать вам код, прежде чем я объясню:
$(function() {
var IMP=window.IMP;
IMP.init('11111111');
$('.order-form').on('submit', function(e) {
var amount = parseFloat($('.order-form input[name="amount"]').val().replace(',',''));
var type=$('.order-form input[name="type"]:checked').val();
var order_id = AjaxCreateOrder(e);
if(order_id==false) {
alert('주문 생성 실패\n다시 시도해주세요.');
return false;
}
var merchant_id = AjaxStoreTransaction(e, order_id, amount, type);
if(merchant_id!=='') {
IMP.request_pay({
merchant_uid:merchant_id,
name:'Product',
buyer_name:$('input[name="first_name"]').val()+" "+$('input[name="last_name"]').val(),
buyer_email:$('input[name="email"]').val(),
amount:amount,
m_redirect_url: 'mywebsite/payments/complete',
}, function(rsp) {
if(rsp.success) {
var msg = '결제가 완료되었습니다.';
msg += '고유 ID : '+rsp.imp_uid;
// 결제 완료후 보여줄 메시지
ImpTransaction(e, order_id, rsp.merchant_uid, rsp.imp_uid, rsp.paid_amount);
} else {
var msg = '결제에 실패하였습니다.';
msg += '에러내용 : '+ rsp.error_msg;
console.log(msg);
}
});
}
return false;
});
});
function ImpTransaction(e, order_id, merchant_id, imp_id, amount) {
e.preventDefault();
var request = $.ajax({
method:"POST",
url:order_validation_url,
async:false,
data:{
order_id:order_id,
merchant_id:merchant_id,
imp_id:imp_id,
amount:amount,
csrfmiddlewaretoken:csrf_token
}
});
request.done(function(data) {
if(data.works) {
$(location).attr('href',location.origin+order_complete_url+'?order_id='+order_id)
}
});
request.fail(function(jqXHR, textStatus) {
if(jqXHR.status == 404) {
alert("페이지가 존재하지 않습니다.");
} else if(jqXHR.status==403) {
alert("로그인 해주세요.");
} else {
alert("문제가 발생했습니다.\n다시 시도해주세요.");
}
});
}
Как вы можете видеть, я использую API Iamport(IMP), но это не очень важно. Я хочу, чтобы при запуске m_redirect_url: 'mywebsite/payments/complete' я мог одновременно запустить ImpTransaction() перед перенаправлением на url mywebsite/payments/complete. Это происходит потому, что функция обратного вызова function(rsp) не работает, когда я использую свой сайт django на мобильных устройствах. m_redirect_url - это url, на который я перенаправляю пользователя после завершения транзакции в мобильной версии.
Спасибо, и, пожалуйста, оставляйте комментарии или вопросы ниже.