2011-09-23 34 views
0

我有一個窗體並使用$ .POST將它張貼到一些URL ..

從那裏我無法訪問表單值。我不知道錯誤可能是什麼?

的形式是像

<form id="registration-form" > 
<input type="hidden" name="Profile[fb_uid]" value='1232323'></input>" 
<select name="Profile[feet]" id="feet"> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
</select> 
<a class="btnLgBlueGrad" href="#" name="closeModal" id="profileSubmit">Start</a> 
</form> 

的JS調用是這樣

$("#profileSubmit").click(function() { 
     $.post("?r=site/addBasicProfile", 
       function(data){ 
       alert(data); // this is alerting as empty 
        if(data==1) 
         window.location.href="?r=site/index"; 
       }); 
     }); 

這就是所謂的實際方法是

public function actionAddBasicProfile(){ 
    echo $_REQUEST['profile']; 
    // when i echo something static it is reflected in the ajax callback function 
} 

我敢肯定的URL是正確的並傳遞ajax請求。

回答

2

那是因爲你不傳遞任何數據到$。員額(),從jQuery網站:

jQuery.post(url, [data,] [success(data, textStatus, jqXHR),] [dataType]) 

所以,你應該一些數據傳遞給你的PHP腳本:

$.post("?r=site/addBasicProfile", 
    $('#registration-form').serialize(), // this will serialize the form data 
    function(data){ 
     alert(data); // this is alerting as empty 
     if(data==1) 
     window.location.href="?r=site/index"; 
    } 
); 

作爲一個方面說明,您應該使用$_POST來獲取POST值,因爲$_REQUEST也可以獲取GET值。

0

或序列化形式,也可以在名稱中使用小寫。