Opencart 2: PHP-Dateien mit Ajax aufrufen
P粉153503989
P粉153503989 2024-03-31 23:09:02
0
1
442

Ich möchte eine PHP-Datei des von mir erstellten Systems/Helfers per Ajax aufrufen, die eine Methode des Modells aufruft, die den Coupon zur Datenbank hinzufügt. Die PHP-Datei enthält den folgenden Inhalt.

<?php
function coupon_for_acumba() {
            $this->load->model('total/coupon');

            echo $this->model_total_coupon->coupon_test();
        }

Ich habe eine js-Datei erstellt, die beim Absenden des Formulars einen Ajax-Aufruf ausführt. Das Skript in der Datei lautet wie folgt

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)
                    
                })

Schließlich habe ich $this->document->addScript('catalog/view/javascript/test1.js'); verwendet, um diese js-Datei incatalog/controller/common/header.php aufzurufen;

Das Problem ist, dass ich jedes Mal, wenn ich das Formular absende, eine Fehlermeldung vom Ajax-Aufruf erhalte. Kannst du mir sagen, was ich falsch mache?

P粉153503989
P粉153503989

Antworte allen(1)
P粉299174094

OpenCart不允许直接从系统文件夹调用PHP文件(检查系统文件夹中的.htaccess文件)。尝试打开 https://yoursite/system/helper/acumba.php,你会得到 403 Forbidden。您必须使用路由来调用方法。

url : '/system/helper/acumba.php', // wrong

您必须修改 /catalog/controller/extension/total/coupon.php 并放入您的方法,然后在 JS 文件中调用此方法。

url : 'index.php?route=extension/total/coupon/coupon_for_acumba',
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage