我正在使用$ .POST将其发布到某个网址上。
从那里我无法访问表单值。我不知道错误是什么?
表单就像
<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
}
我确定网址是正确的,并且传递了ajax请求。
答案 0 :(得分:2)
那是因为你没有从jquery网站传递任何数据到$ .post():
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值。
答案 1 :(得分:0)
或序列化表单,也可以在名称中使用小写。
答案 2 :(得分:0)
您需要使用$ .post调用将表单参数作为数据传递 示例@ http://api.jquery.com/jQuery.post/
你也可以使用JQuery表单插件提供的ajaxSubmit,它将为你处理它。 @ http://jquery.malsup.com/form/
$( '#形式')。ajaxSubmit会({ 成功:handle_success, });