2011-10-11 72 views
0

我想從外部文件得到響應。 目前在php文件中只有一個變量回顯,我想在#code div內顯示它。我怎樣才能做到這一點?jquery和加載函數

$(function(){ 
      $('#submit').click(function(e){ 
       var length = $('#number').val(); 
       var type = $('#type').val(); 
       var submit = "submit"; 
       var url = 'public/php/codegenerator.php'; 
       var data = "length=" + length + "&type=" + type + "&submit=" + submit; 
       console.log(data); 

       $('#code').load(url, data, function(response){ 
        $(this).response.hmtl(); 
       }); 

      e.preventDefault(); 
      }); 
     }); 

回答

1

load應該爲你做。因此,改變這一點,應該工作

$('#code').load(url, data, function() { 
    alert('success'); 
}); 
+0

這是行得通的。我怎樣才能從PHP文件中獲取變量? – Sasha

+0

加載是從服務器獲取數據的最簡單方法,主要用於獲取整個html集並將其插入到頁面中。如果您想要返回變量併爲其調用例如response.myphpvariable,我建議你查看http://api.jquery.com/jQuery.getJSON/這個方法。而不是打印你的php變量,你會用json編碼它,你可以在你的js代碼中使用它 – realshadow

0

試試這個

$('#code').load(url, data, function(response){ 
     $(this).html(response); 
}); 

OR

$('#code').load(url, data); 
0

試試這個代碼和平

<div id="success"></div> 
<div id="error"></div> 

<script> 
$("#success").load(url, data, function(response, status, xhr) { 
    if (status == "error") { 
    var msg = "error: "; 
    $("#error").html(msg + xhr.status + " " + xhr.statusText); 
    } 
}); 
</script> 
0

所以,你正在做的大多正確的事情,如果你的PHP代碼正在送回合作內容類型「text/html」。您可以嘗試在PHP代碼中設置響應的內容類型。如果你不能弄清楚如何改變內容類型,或不想,使用jQuery.get()方法,並通過$("#Code).text(yourResponse);

改變#CODE元素的文本(而不是HTML),你可能也嘗試訪問xhr.responseText以查看整個響應。在確定發生了什麼問題時,這總是一個非常寶貴的工具:

$.ajaxSetup ({ 
error: function(x, e){ 

     alert("The Response:" + x.responseText); 

});