2016-07-06 67 views
1

我想創建一個簡單的「註冊您的興趣」行動。我有前端工作,但我不知道如何將AJAX鏈接到PHP文件。我在哪裏把PHP文件?鏈接PHP與Ajax Magento 2

我目前的AJAX代碼:

$.ajax({ 
         url: "register-interest.php", 
         type: "GET", 
         dataType: "json", 
         data: { 
          type : "registerInterest", 
          email : userEmailLog, 
          user : userNameLog, 
          product : productTitle, 
          sku : productSku 
         }, 
         success: function (response) { 
          JSON.stringify(response); 
         }, 
         error: function (err) { 
          JSON.stringify(err); 
         }, 
         complete : function() { 
          //$('.user-accept').addClass('unhide'); 
          loading(); 
         } 

        }); 

回答

1

首先,你檢查網址變量是否正確,然後提供響應像

success: function (response) { 
         JSON.stringify(response); 
        }, 
+0

多數民衆贊成在那不完全是我之後。我的問題是我不知道把PHP文件放在哪裏。它是否需要進入自己的模塊? – Mark

1

您的網址值的任何數據:

"register-interest.php" 

這意味着,該文件的親認爲AJAX請求需要與包含執行AJAX請求的JavaScript文件的頁面在相同的目錄級別可用。

例子:

如果你的網頁是在http://example.com/my/ajax/page.html

隨後的JavaScript如果你改變了JS URL值將執行AJAX請求的URL http://example.com/my/ajax/register-interest.php

或者閱讀"/register-interest.php",那麼AJAX請求將提供給:http://example.com/register-interest.php

你需要把它放在你的服務器上取決於你的web服務器的webroot的摺疊方式r結構是有組織的,但是你應該能夠從JavaScript將要求解決的URL中恢復工作。

+0

感謝您的回覆。我只是有問題把php文件放在Magento 2文件結構中。 – Mark

+0

這取決於。如果PHP文件是一個獨立的php文件,可以直接處理請求,然後放置在Magento的公共目錄中 - 在源碼樹中,這將是https://github.com/magento/magento2/tree/2.0/pub。但是,我想你可能想要在處理AJAX響應時訪問所有Magento框架的功能,在這種情況下,您應該在控制器上創建一個動作,將其路由到一個URL,然後將jQuery ajax調用適當地更改爲反映這一點。 – Benjamin

+0

那就是晶圓廠本傑明!你知道任何有關在控制器上創建一個動作的指南,或者是指向正確方向的東西嗎? – Mark