2013-01-03 30 views
1

我有一個textarea,用戶可以在其中輸入code'code_box'的代碼。jQuery:通過POST傳輸代碼

<textarea id = 'code_box'></textarea> 

然後我有這個jQuery,它使用ajax發送代碼到我的PHP腳本處理它。

$('#submit_button').click(function() { 
    var code= $('#code_box').val(); 

    if(code.length > 0) { 
     $.ajax ({ 
      type: 'POST', 
      url: '/php/handle_code.php', 
      cache: false, 
      data: 'code=' + encodeURIComponent(code), 
      success: function(output) { 
       window.location = output; 
      } 
     }); 
    } 
}); 

但是,當試圖通過發送代碼時,它實際上並沒有發送它。我已經驗證了「paste」變量中有代碼。我也證實$ _POST ['code']變量實際上並沒有在PHP端收到任何東西,所以問題必須在ajax請求中。其他輸入工作,例如純文本,這很好。在我使用ajax將它發送到PHP腳本之前,還有什麼需要做的以清理代碼?

編輯: 下面是一些代碼,通過精雲:

This is plain text. 

下面是一些不:

<?php 
    echo "test"; 
?> 
+0

不,仍然沒有收到POST數據。 – Lukas

回答

2

我認爲你不會發送荷蘭國際集團,其AJAX需要在有道數據:

$('#submit_button').click(function() { 
    var code = encodeURIComponent($('#code_box').val()); 

    if(code.length > 0) { 
     $.ajax ({ 
      type: 'POST', 
      url: '/php/handle_code.php', 
      cache: false, 
      data: {code:code}, 
      success: function(output) { 
       window.location = output; 
      } 
     }); 
    } 
}); 

試試這個,沒有測試但可能會幫助你。

信息:http://api.jquery.com/jQuery.ajax/

+0

就是這樣,謝謝! – Lukas

+0

很高興爲您提供幫助。 – Jai

0
var code= $('#paste_box').val(); 

應該

var code= $('#code_box').val(); 
+0

對不起,我犯了一個錯字。儘管如此,這將是它! – Lukas