加载失败:对预检请求的响应未通过访问控制检查

时间:2018-07-17 16:19:57

标签: ajax spring-mvc payment-gateway payumoney payu

我正在Spring MVC中进行PayU支付网关集成,当时我应该使用已经实现的Java类的jars。为了做到这一点,我创建了一个控制器类,在其中我调用了包含的jar的必需方法。现在,当我发出ajax请求时,它向我显示以下错误:

  

加载失败

     

http://localhost:8081/ABHI/payupg/payReqHDFC/600/SAU/Robert/robert@gmail.com/9876543210?{}:

     

对预检请求的响应未通过访问控制检查:所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问原始“空”。

我的Ajax请求如下:

<html>
<head>
<script type="text/javascript" src="C:/Users/myFolder/Desktop/code_testing/jquery.js"></script>  
<script type="text/javascript">
    function test(){
    var testData =  {}
    //var testData =    {"userName":"robert","password":"Test@12345"}
        var URL= "http://localhost:8081/ABHI/payupg/payReqHDFC/600/SAU/Robert/robert@gmail.com/9876543210";

            $.ajax({
                url : URL,
                async :false,
                type : 'GET',
                dataType : 'json',
                data: JSON.stringify(testData),
                contentType : 'application/json',
                mimeType : 'application/json',
                crossDomain : true,
                success : function(data) {  
                console.log(JSON.stringify(data,null,4));
                alert(data);
                },
                error : function(data, status, er) {
                console.log(JSON.stringify(data,null,4));
                    console.log("Errors : ");  //+data.responseJSON.errorMessage
                }
            });
            }
</script>
</head>
<body>
    <button onClick="test()"> Click me </button>
</body>
</html>

我的PayUController.java是:

@Controller
@RequestMapping(value = "/payupg")
public class PayuController {

    @Autowired
    HdfcController hdfcController;

    @RequestMapping(value = { "/payReqHDFC/{amount}/{productInfo}/{firstname}/{email}/{phone}" },
                    method = {org.springframework.web.bind.annotation.RequestMethod.GET })
    public String paymentGateway(Model model, @PathVariable String amount, @PathVariable String productinfo,
            @PathVariable String firstname, @PathVariable String email, @PathVariable String phone) throws Exception {

        System.out.println("inside controller");
        String str=hdfcController.payReqHDFCGateway(model,null,amount,productinfo,firstname,email,phone,null,null,null,null,null,null,null,null,null);
        System.out.println("End of inside controller");

        // return "hdfcPayReq";
        // return PGConstants.HDFC_PAY_REQ_PAGE;
        return str;
    }
}

为进一步澄清,我想说您可以避免CROS-Origin问题。

在此付款网关中,几乎有15个参数要发送,其中5-6个参数是强制性的。我只发送这些邮件,其余的我将其设置为空。

0 个答案:

没有答案