2015-04-28 48 views
0

我相信我有正確的語法,但我錯過了一些重要的東西。在這裏搜索了一段時間,但無法弄清楚爲什麼POST變量沒有被檢測到。基本上我的.ajax正在觸發,因爲我的測試語句已經由於值而改變,但有些原因不能通過$ _POST接收變量(即我的回聲在PHP回聲,它不是射擊)。另外,本機文件和PHP,我是發送它是相同的文件blankFormTemplate.php,但不認爲這應該是一個問題。在PHP中使用jQuery AJAX來POST變量

$(document).ready(function() 
{ 
    var $selectedContexts = []; 

    $('.allContextField').change(function(){ 
     //alert($(this).val()); 
     hideField = $(this).val(); 
     $('#'+hideField).remove(); 

     $.ajax 
     ({ 
      type: "POST", 
      url: "blankFormTemplate.php", 
      data: addedContext=hideField, 
      cache: false, 
      success: function(addedContext) 
      { 
       $('#test').html($('#test').html()+hideField); 
      } 
     }); 
    }); 
}); 

在我的PHP blankFormTemplate.php:

<?php 

if(isset($_POST['addedContext'])) 
{ 
    echo 'hello'; 
} 
else 
{ 
    echo 'why'; 
} 

?> 

任何幫助將不勝感激。

感謝,

+0

您是否獲得'why'每次?您是否查看了您的開發人員控制檯/螢火蟲的網絡選項卡中發送的請求? – chris85

+1

將'data:addedContext = hideField,'更改爲'data:'addedContext ='+ hideField,'。你需要將'data'設置爲sting,但你只是在做一個任務。 – Sean

+0

@ chris85是我每次都得到「爲什麼」 –

回答

0

您的JavaScript

$(document).ready(function() 
{ 

    $('.allContextField').change(function(){ 
     hideField = $(this).val(); 
     $('#'+hideField).remove(); 
}); 
if (hideField.trim()) { 
$.ajax 
     ({ 
      type: "POST", 
      url: "blankFormTemplate.php", 
      data: (addedContext:hideField}, 
      cache: false, 
      success: function(msg) 
      { 
       $('#test').html(msg); 
      } 
     }); 
} 
}); 

你的PHP

<?php 

if(isset($_POST['addedContext'])) 
{ 
    echo 'hello'; 
} 
else 
{ 
    echo 'why'; 
} 

?>