麻烦提交ajax表单在yii
trouble submitting ajax form in yii
我正在创建一个小部件,用于在网站中"找到"数据库中任何字段的匹配。我目前正在使用jQuery"对话框",并希望提交表单,将表单重定向到控制器/动作(我使用使用MCV模型的yii),并将该函数的输出返回到当前窗口。
我目前使用一个隐藏的div,和jquery加载函数。
$("#find_results").load(loadPage, function(){
}).show();
,它调用一个函数,基本上完成以下操作:
public function actionFind(){
if (!empty($_POST)){
//do really big query
//put results into <tr> and <td> tags using a for loop
}else{
echo <tr><td>"no results found"</td></tr>;
}
}
这段代码返回一个输出,但只有"no results found",这让我相信表单实际上从未被发布过。
有谁知道这里发生了什么黑魔法吗?谢谢!
公立小学对话框是一个局部视图,其中包含要通过动作/controller/find提交的表单
更新:
我实现了这个代替:新的错误是"undefined index: findtext",这是我的文本输入的名称。
$("#find_results").load(loadPage,{ data: $("#find_form").serialize() },function(data){
console.log(data);
$('#find_results').html(data);
$(this).show();
});
首先,让我们看看.load()
的签名
。加载(url [, data] [, complete])
类型:字符串
包含发送请求的URL的字符串。
类型:纯对象或字符串
与请求一起发送给服务器的普通对象或字符串。
类型:Function(String responseText, String textStatus, jqXHR)
当请求完成时执行的回调函数。
所以,如果你想发送数据到服务器,你可以这样做:
$("#find_results").load(loadPage, {someKey: 'some value'}, function(){
$(this).show();
});
现在,我们正在发送数据,不用管我之前说的$_GET
From the docs:
请求方法如果数据作为对象提供,则使用POST方法;否则,假定使用GET。
另外,因为你已经标记了yii
,你可能需要在你的应用程序中以不同的方式访问$_POST
,像这样:
public function actionFind( ){ // pass in $request from your app
$request = Yii::$app->request;
if (!empty( $request->post() )){ // change this
//do really big query
//put results into <tr> and <td> tags using a for loop
}else{
echo <tr><td>"no results found"</td></tr>;
}
}
参见Yii 2.0的权威指南,其中说:
$request = Yii::$app->request;
$post = $request->post();
// equivalent to: $post = $_POST;
$id = $request->post('id');
// equivalent to: $id = isset($_POST['id']) ? $_POST['id'] : null;
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- Yii ActiveForm:通过jQuery.load加载表单
- 如何在 YII 中使用 ajaxvalidation 实现弹出式登录表单
- Yii 客户端验证在 ajax 加载表单上不起作用
- Yii 中的动态表单
- Ajax 表单使用 Yii 2 提交两次
- yii 中的动态表单验证
- 创建一个计数器以在Yii中添加多个表单
- PHP:Yii:如果前提条件未满足,则忽略ActiveForm中的表单验证器
- 部分ajax验证yii表单
- yii在模态对话框上激活表单验证
- 麻烦提交ajax表单在yii
- Yii-在表单提交之前检索下拉值
- 如何使用一个yii表单将多个条目添加到数据库中
- Yii jQuery获取模型值并提交表单
- Yii 错误无法读取未定义的属性“提交表单”
- 如何在我的js文件之前运行yii表单验证
- 在Yii中启用客户端验证和提交表单后增加了双记录