我想ajax调用我创建的系统/帮助程序的php文件,该文件调用在数据库中添加优惠券的模型的方法。 php 文件包含以下内容。
<?php function coupon_for_acumba() { $this->load->model('total/coupon'); echo $this->model_total_coupon->coupon_test(); }
我创建了一个 js 文件,该文件在提交表单时进行 ajax 调用。文件中的脚本如下
let acumbaForm = document.querySelector('#form-acm_28955'); acumbaForm.addEventListener('submit', function () { setTimeout(function () {if (document.querySelector('.succes-alert-form-acm')) { $.ajax({ url : '/system/helper/acumba.php', type : 'POST', success : function (result) { console.log (result); // Here, you need to use response by PHP file. }, error : function () { console.log ('error'); } }); }}, 2000) })
最后我用 $this->document->addScript('catalog/view/javascript/test1.js'); 在catalog/controller/common/header.php 中调用这个js文件;
问题是,每次我提交表单时,我都会从 ajax 调用中收到一条错误消息。你能告诉我我做错了什么吗?
OpenCart不允许直接从系统文件夹调用PHP文件(检查系统文件夹中的.htaccess文件)。尝试打开 https://yoursite/system/helper/acumba.php,你会得到 403 Forbidden。您必须使用路由来调用方法。
您必须修改 /catalog/controller/extension/total/coupon.php 并放入您的方法,然后在 JS 文件中调用此方法。