问题
I have integrated a payment gateway with a Java based Web-App Now, After a successful and failure transaction, PG accordingly redirect to respectively html pages failure.html,success.html with form data. How can i read and use this data. I have no clue,, need help guys.
General
Request URL:http://www.educationxpress.in/failure.html
Request Method:POST
Status Code:200 OK
Remote Address:43.242.215.132:80
Response Headers
view source
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:2461
Content-Type:text/html
Date:Mon, 21 Mar 2016 11:44:23 GMT
ETag:W/"7124-1458556448000"
Last-Modified:Mon, 21 Mar 2016 10:34:08 GMT
Server:Apache-Coyote/1.1
Vary:Accept-Encoding
Request Headers
view source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0. 8
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:1087
Content-Type:application/x-www-form-urlencoded
Host:www.xywevbsite.in
Origin:null
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
Form Data
view source
view URL encoded
mihpayid:550690310
mode:DC
status:failure
unmappedstatus:failed
txnid:f63fdb227b24393099dc
amount:45.0
addedon:2016-03-21 17:12:37
productinfo:Rabbit
firstname:Mohit
Need help on how to read this response????
回答1:
Client side code has no access to most of the data in the request that was used to load the page the client side code is being executed in, including POST data.
You'll need to use server side code instead.
回答2:
When Integrating with payment gateways or in general when you receive a
redirection URL based on server response.Simply map your URL in controller or in Servlet.
This way you can access the request parameters and based on parameter and other
information you can redirect the page.
Example:
I've provided http://www.localhost.in/failure
Map above url in your controller
@RequestMapping(value = "/failure.do", method = RequestMethod.POST)
public void pgResponse(@RequestBody ResonseBean bean, HttpServletRequest request, HttpServletResponse response )
{
try
{
// Here you can extract the parameters from POST request.
String amount = (String) request.getParameter("amount");
String addedon = (String) request.getParameter("addedon");
String productinfo = (String) request.getParameter("productinfo");
String firstname = (String) request.getParameter("firstname");
// Do you business here
// Redirect when you're done
}
catch ( Exception e )
{
}
}
Or You can simply bind a Servlet in your not using Spring MVC, Spring Boot.
In JSP Environment,
Simply use scriptlet in jsp page.For Example:
<%
String amount = (String) request.getParameter("amount");
String addedon = (String) request.getParameter("addedon");
String productinfo = (String) request.getParameter("productinfo");
String firstname = (String) request.getParameter("firstname");
%>
<script type="javascipt">
// Get java variable value in js
var amount = <%=amount %>;
var addedon = <%=addedon%>;
var productinfo = <%=productinfo %>;
var firstname = <%=firstname %>;
</script>
There are multiple way for this problem and it's subject to stack that you're using.
回答3:
You can't read POST data in client side but you can save it locally when submitting the form using localStorage:
<form onSubmit="formSubmitted()">
<input type="text" id="firstname" name="firstname" />
...
</form>
<script type="text/javascript>
function formSubmitted() {
localStorage.setItem('firstname', document.getElementById('firstname').value);
}
</script>
Also you can use any server side language to get it:
var firstname = "<?php echo $_POST['firstname']; ?>";
来源:https://stackoverflow.com/questions/36130328/how-to-read-post-parameters-using-js-jquery