javascript - 如何从 AngularJS 调用 PHP 文件
问题描述
我正在尝试将支付网关集成到 Web 应用程序中。我正在尝试调用重定向到另一个页面的 php 文件。我需要向它传递一些值,然后它应该重定向到支付网关页面。
这就是我正在做的事情:
<form name="payBillForm" id="payBillFormId" ng-submit="paymentGateway()">
<div class="input-group" ng-class="{'has-error': amountEnteredInvalid}" >
<span class="input-group-addon"> <i class="fa fa-rupee"></i>
</span>
<input type="text" class="form-control"
ng-change="testAmountValidity()"
ng-disabled="isPaymentComplete" ng-model="amountPayingNow" >
<button class="btn btn-info" type="submit">Pay</button>
</div>
</form>
控制器:
let formName = document.getElementById('payBillFormId');
let paymentFormData = new FormData(formName);
paymentFormData.append("amount", $scope.amountPayingNow);
paymentFormData.append("email", $scope.payEmailId);
paymentFormData.append("mobile_no", $scope.payContactNo);
paymentFormData.append("invoice", 234);
paymentFormData.append("invoice_amount", $scope.amountPayingNow);
$http({
method: "POST",
url: '../PaymentGateway/index.php',
data: paymentFormData,
ContentType: false
}).then(function successCallback(response) {
console.log(response, "Payrespo");
});
在控制台的响应中,我得到:
"<br />↵<b>Notice</b>: Undefined index: invoice_amt in <b>C:\xampp\htdocs\myworkspace\AMS\apartment-management-system\PaymentGateway\index.php</b> on line <b>15</b><br />
PHP:
<?php
require_once('fonepaisa.php');
$invoice_amt = $_REQUEST['invoice_amt'];
$amount = $_REQUEST['amount'];
$email = $_REQUEST['email'];
$mobile_no = $_REQUEST['mobile_no'];
//$invoice = $_REQUEST['invoice'];
fonepaisa_forward(array(
'id'=>'FPTEST',
'merchant_id'=>'FPTEST',
'merchant_display'=>'fonePaisa Test Merchant',
'invoice_amt' => "$invoice_amt",
'amount' => "$amount",
'email'=> "$email",
'mobile_no'=> "$mobile_no",
'callback_url'=>'http://localhost/myworkspace/AMS/apartment-management-system/PaymentGateway/confirm.php',
'callback_failure_url'=>'http://localhost/myworkspace/AMS/apartment-management-system/PaymentGateway/cancel.php',
'invoice'=>'FPORDER'.rand(1,100000000),
'api_key'=>'08Z1782051U62BY9OUGW4XM67GF2004',
'private_key'=>'file://C:\xampp\htdocs\myworkspace\AMS\apartment-management-system\PaymentGateway\priv.pem',
'public_key'=>'',
'is_live_env'=>'N' //The value should be changed to 'Y' when one wants to move to production
));
exit
?>
解决方案
您的 HTML 和 JS 代码不包含POST 请求的任何“invoice_amt”值!我认为你invoice_amout而不是invoice_amt
尝试替换你$_POST['invoice_amt']
的$_POST['invoice_amount']
推荐阅读
- amazon-web-services - userdata .sh 脚本在 cloudformation 启动时未运行
- spring-boot - 将 mongodb $reduce 代码转换为 Spring Boot
- label - 仅显示组的一个标签 (Blogger)
- docker - 如何从另一个 Dockerfile 中 Dockerfile?
- java - 如何使用改造 2 在 android 中进行实时通知
- javascript - 复选框根据表单 ID 全选
- ios - 更改后未正确重新发现 CBPeripheral 服务
- javascript - Pokemon API Uncaught TypeError:无法读取未定义的属性“0”
- pagination - TYPO3:分页的性能问题
- powershell - 使用继承对 PowerShell 类中的属性进行排序