2016-02-05 70 views
0

我只是想在ajax做一個簡單的事情,但它不工作。 我只是想顯示文本時,我在輸入按鈕點擊顯示文本使用Ajax和PHP

ajax.js

jQuery(document).ready(function($) { 
$('#insertForm').change(function(){ 
//on recupere la valeur de l'attribut value pour afficher tel ou tel resultat 
var req=$('#insertForm').val(); 
//requête ajax, appel du fichier function.php 
$.ajax({ 
    type: "POST", 
    url: "lib/function.php", 
    data: "insertForm="+req, 
    dataType : "html", 
    //affichage de l'erreur en cas de problème 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
      alert(XMLHttpRequest + '--' + textStatus + '--' + errorThrown); 
     }, 
     //function s'il n'y a pas de probleme 
    success:function(data){ 
    $('.coucou').empty(); 
    $('.coucou').prepend(data.coucou) 
    } 
}); 
}); 
}); 

html.php

<div class="coucou"></div> 
<button type="button" class="btn btn-success btn-xs" name="insertForm" id="insertForm" style="margin-top: 5px;;"> 
    <span class="glyphicon glyphicon-ok" aria-hidden="true"></span> 
</button> 

function.php

if(isset($_POST['insertForm'])){ 
    echo "coucou"; 
} 
+0

在ajax'data:{insertForm:req}中設置數據' –

回答

0
jQuery(document).ready(function($) { 
    $('#insertForm').click(function(){ 
    //on recupere la valeur de l'attribut value pour afficher tel ou tel resultat 
     var req=$('#insertForm').val(); 
     //requête ajax, appel du fichier function.php 
     $.ajax({ 
      type: "POST", 
      url: "lib/function.php", 
      data: "insertForm="+req, 
      dataType : "html", 
      //affichage de l'erreur en cas de problème 
      error: function(XMLHttpRequest, textStatus, errorThrown) { 
        alert(XMLHttpRequest + '--' + textStatus + '--' + errorThrown); 
       }, 
       //function s'il n'y a pas de probleme 
      success:function(data){ 
      $('.coucou').empty(); 
      $('.coucou').text(data); 
      } 
     }); 
    }); 
}); 

您需要使用.click()而不是.change(),並在獲得成功,你只收到一個字符串不是一個對象,所以你只需要直接寫入數據(與.text()

複製我的代碼,因爲我也加了你忘記的;。 (這是工作,我測試過)

另一點你使用.val()#insertForm但你的html沒有價值屬性。所以var req是一個空字符串

0

你有button元素不是輸入型按鈕,button元素確實有文本內容,就可以改成這樣:

var req=$('#insertForm').text(); 

但還是我覺得你沒有在任何按鈕然後文本做什麼你想要發佈完全。


問題:

  1. button元素具有文本內容,而不是價值。
  2. datatype:"html"正期待響應中的一些html。
  3. data.coucou在成功函數期待json數據。