Не удалось загрузить: ответ на предварительный запрос не проходит проверку контроля доступа
Я работал над интеграцией PayU Payment Gateway в Spring MVC, где я должен был использовать банки уже реализованных Java-классов. Для этого я создал класс контроллера, где я вызываю необходимые методы включенных jar-файлов. Теперь, когда я делаю запрос AJAX, он показывает мне следующую ошибку:
Ошибка загрузки
http://localhost:8081/ABHI/payupg/payReqHDFC/600/SAU/Robert/robert@gmail.com/9876543210? {}:
Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок "Access-Control-Allow-Origin". Происхождение 'null', следовательно, не разрешено.
Мой запрос 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 являются обязательными. Я отправляю только эти, а остальные я обнуляю.