将数据从javascript发送到控制器Yii
Sending data from javascript to Controller Yii
我正试图将一个数组从Yii的控制器发送到一个动作,但我一直得到404。这就是我从javascript发送数据的方式:
$.ajax({
url: baseUrl + '/user/validateUser',
data: $('#usr').val(),
type: 'post',
dataType: 'json',
success: function(res)
{
console.log(res);
}
});
在我的UserController中,我有以下动作:
public function actionValidateUser() {
if ($_POST > 0){
$username = $_POST['username'];
var_dump($username);
}
}
我得到这样的响应:
Request URL:http://localhost/myapp/user/validateUser
Request Method:POST
Status Code:404 Not Found
我做错了什么?在Zend我这样做了,它工作得很好。在这里……我不知道。
似乎你的apache重写规则不正确/不存在。在htdocs
文件夹下创建/编辑名为.htaccess
的文件。输入以下内容:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
保存并重启apache。确保在apache httpd.conf中启用了mod_rewrite
。
您的ajax调用接收一个字符串作为数据,并且没有关于该字符串表示哪个字段的信息。您应该指明该数据代表哪个字段。
试试下面的代码:
$.ajax({
url: baseUrl + '/user/validateUser',
data: { username: $('#usr').val() },
type: 'post',
dataType: 'json',
success: function(res)
{
console.log(res);
}
});
你的原始请求正在生成一些调用//localhost/myapp/user/validateUser?<<em>username>。但是上面的代码将生成对//localhost/myapp/user/validateUser的调用?username=<<em>username>
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 在<头部>来自Yii的控制器
- 在视图中重定向会破坏原始控制器操作(Yii)
- 如何在 yii 中为特定的控制器和操作添加 JavaScript
- 如何在 Yii 中将 JavaScript 数组发送到控制器
- Yii 控制器方法从视图按钮调用
- YII:如何将参数列表从js传递到控制器,并通过传递另一个列表来调用新视图
- 来自不同控制器的yii cgridview中断了寻呼机
- 在控制器中传递js变量,但不在url:yii中显示参数
- 从属YII输入框?我的错误在哪里?如何在dropDownList中添加Onchange事件?而无需使用控制器
- 将数据从javascript发送到控制器Yii
- 如何使用Javascript调用控制器动作$.get - Yii
- 在控制器中调用渲染后,何时调用下一行?Yii - PHP
- 在控制器操作-YII中调用Javascript函数
- 如果在yii中取消,如何在控制器中放置确认警报并重定向到特定链接
- 如何在Yii框架中将数组和嵌套数组从控制器传递到Javascript