2012-11-27 113 views
1

我開始與Jquery,所以我想做的事情很簡單:從輸入標籤中獲取一個字符串,並將其放入一個div標籤。jQuery的ajax發送字符串到PHP和特殊的字符,如#

我Jquery的代碼:

$(document).ready(function(){ 
    $("#recherche").keyup(function(){ 
    var recherche = $(this).val(); 
    var data = 'motclef=' + recherche; 
    $.ajax({ 
     type : "GET", 
     url : "result.php", 
      data : data, 
      contentType: "application/x-www-form-urlencoded;charset=UTF-8", 
      success: function(server_response){ 
      $("#resultat").html(server_response).show(); 
    } 
    }); 

});

});

我的PHP代碼:

<?php 

if(isset($_GET['motclef'])){ 
    $motclef = $_GET['motclef']; 
    echo $motclef; 
} 
?> 

它正常工作,甚至caracters如EAC ...甚至中國caracters,但它不是以#或&工作。我怎樣才能使它工作? 非常感謝。

+0

嘗試改變的contentType或刪除其 – Sam

+0

我都試過,但結果相同 – user1836529

回答

2

試試這個

$(document).ready(function(){ 
    $("#recherche").keyup(function(){ 
    var recherche = $(this).val(); 
    var data = 'motclef=' + recherche; 
    $.ajax({ 
     type : "GET", 
     url : "result.php", 
      data : {motclef: data}, 
      contentType: "application/x-www-form-urlencoded;charset=UTF-8", 
      success: function(server_response){ 
      $("#resultat").html(server_response).show(); 
    } 
    }); 
+1

「data:{motclef:data},」jQuery將編碼和生成漂亮的查詢字符串,就像您通過編寫page.php所做的一樣?motclef = contenudetoninputencode –

+0

它的工作原理,非常感謝Romain! – user1836529

+0

德里恩! PS:你不需要指定contentType,我認爲這是jQuery的默認值(çarendra ton code plus facileàlire;)) –

0

因爲您使用GET發送數據,所以在使用Ajax發送數據之前,需要對數據進行URL編碼。使用JavaScript函數「逃離」

escape('&# '); // "%26%23%20" 
+0

好,謝謝,我已經改變了行數據:數據,通過數據:逃逸(數據),但現在沒有什麼出現在div標籤 – user1836529

+0

成功發送到PHP?此外,您應該嘗試在將其添加爲HTML之前先取消您的數據(server_response)。 – Jasper