2017-07-04 36 views
0

我有一個PHP文件(treatment.php),其中包含了一些功能的功能,例如:呼籲PHP文件中使用jQuery

public function connexion(){ 
    $user = 'invité'; 
    if($_POST){ 
     if(isset($_POST['user'])) { 
      session_start(); 
      $user = $_POST['user']; 
     } 
    } 
    echo $user; 
} 

而且我想通過Ajax用下面的代碼來調用這個函數,但它不起作用:

$(document).on("click", "#valider-btn", function(){ 
    $.ajax({ 
    url : 'treatment.php/Connexion', 
    type : 'POST', 
    data : 'user=' + $("#name").val(), 
    dataType : 'html', 
    success : function(donnees) { 
    $("#name").val(""); 
    $("#formulaire").hide(); 
    $("#decompte").html(donnees); 
    } 
    }); 
}); 

那麼有人可以幫忙嗎?謝謝

+0

包括another.php頁進first.php由全光照和AJAX將another.php的內容設置爲first.php。通過這種方式,another.php代碼將在first.php上執行一些操作後執行。 –

回答

1

阿賈克斯不喜歡的工作。當您撥打treatment.php時,您必須重新分配給定數據中傳遞的某個屬性的操作。像這樣(我假設你treatment.php是不是類):

treatment.php

<?php 

if($_POST && isset($_POST['action']) 
{ 
    //sanitize action 
    switch($_POST['action']) 
    { 
     case 'connexion': 
      connexion($_POST['data']); 
      break; 
     case 'anotheraction': 
     //do something 
     [...] 
    } 
} 

function connexion($data = null){ 
    $user = 'invité'; 
    if($data){ 
     if(isset($data['user'])) { 
      session_start(); 
      $user = $data['user']; 
     } 
    } 
    echo $user; 
} 

yourjs.js

$(document).on("click", "#valider-btn", function(){ 
    $.ajax({ 
     url : 'treatment.php', 
     type : 'POST', 
     data : {user: $("#name").val(), action: "connexion"}, 
     dataType : 'html', 
     success : function(donnees){ 
      $("#name").val(""); 
      $("#formulaire").hide(); 
      $("#decompte").html(donnees); 
     } 
    }); 
}); 
+0

謝謝,它的作品,但任何功能,我們添加一個案例值 – tixman

+0

是的。這是處理Ajax的老式方法。現在,如果你使用某種框架,你需要弄清楚如何使用路由。 –

+0

謝謝Julien Lachal, 如果我想將結果放入一個大的HTML(例如表格),我該怎麼辦? – tixman

-1

你誤以爲JS與PHP。

您可以通過執行代碼調用.php文件,但不能自行運行。 最好是單獨的PHP與treatment2.php

<?php 
include_once "treatment.php"; 
connexion(); 

並調用這個文件來代替。

函數本身就是聲明 - 當你在PHP文件中使用它時,你可以從外部執行它。

-1

首先需要jQuery庫。

調用PHP文件擴展名在您的Ajax代碼

$(document).on("click", "#valider-btn", function(){ 
     $.ajax({ 
      url : 'treatment.php/Connexion', 
      type : 'POST', 
      data : 'user=' + $("#name").val(), 
      dataType : 'html', 
      success : function(donnees){ 
       $("#name").val(""); 
       $("#formulaire").hide(); 
       $("#decompte").html(donnees); 
      } 
     }); 
    });