Can';t使用jQuery ajax访问发送的我的帖子值

Can';t使用jQuery ajax访问发送的我的帖子值,jquery,ajax,codeigniter,post,Jquery,Ajax,Codeigniter,Post,编辑:删除带有.htaccess的'index.php'会产生我刚刚发现的这个问题。现在我要解决它了 编辑:问题已解决。javascript错误:url:“/login/”它需要一个尾随斜杠 原创:在我的主页视图中,我创建了一个表单: <div id="login"><?php echo form_open('login'); echo form_input('username', 'Username', 'id="username"'); echo form_submit(

编辑:删除带有.htaccess的'index.php'会产生我刚刚发现的这个问题。现在我要解决它了

编辑:问题已解决。javascript错误:
url:“/login/”
它需要一个尾随斜杠

原创:在我的主页视图中,我创建了一个表单:

<div id="login"><?php 
echo form_open('login');
echo form_input('username', 'Username', 'id="username"');
echo form_submit('submit', 'Login', 'id="login_submit"');
echo form_close();
?></div>
如您所见,它将表单值发送到登录控制器

class Login extends CI_Controller {

function index()
{
    if($this->input->is_ajax_request())
    {
        echo '<h2>Login succeeded with ajax</h2>';
    }
    else
    {
        echo '<p>But your ajax failed miserably</p>';
    }
}

}
类登录扩展CI_控制器{
函数索引()
{
如果($this->input->is\u ajax\u request())
{
echo“使用ajax成功登录”;
}
其他的
{
回音“但是你的ajax失败得很惨”

; } } }
问题是,它不工作。函数
$this->input->is\u ajax\u request()
输出为FALSE。忽略这一点,其他所有post数据都会丢失什么都没有接通。


我做错了什么?

我想你的问题可能是你没有发送正确的脚本。您的url/登录名看起来不会进入Codeigniter url(http://domain.com/index.php/login 或)

尝试将url更改为控制器的完整url位置或正确的绝对路径。要么:

url: "http://yourdomain.com/index.php/login",


除非您重写了URL,否则/login可能不会与正确的脚本联系

当我使用PHP和Jquery-AJAX发送post值时,这为我指明了正确的方向。我正在使用.htaccess重写url,以便删除.php扩展名。未将Post值传递到我的sendmail.php文件。我通过将post请求的url从

$.ajax({
                            url:'sendemail.php',
                            method:'post',
                            data:{
                                fname:fname,
                            },
                            success:function (e) {
                                alert(e);
                            }
                        });


您的jQuery click处理程序是否已打包(…)(文档)。准备就绪(…)吗?我对代码进行了一些编辑。脚本确实起作用,并且调用了带有index()方法的控制器。将某些内容回显实际上会将div替换为其内容。未通过的是post数据。:(您可以控制台.log()吗)在发送数据之前将其格式化,并确保数据是您期望的数据?还要确保将jQuery包装在$(document).ready(function(){//jQuery}中,否则jQuery将无法正确获取输入字段的值。我添加了document ready函数。Firebug说:Object{username=“username”,password=“password”}似乎帖子数据设置正确。删除带有.htaccess的'index.php'会产生我刚刚发现的这个问题。现在我开始解决它。看起来你一开始是对的。url有点错误。它需要一个斜杠。谢谢你的帮助!
url: "/my_app/index.php/login",
$.ajax({
                            url:'sendemail.php',
                            method:'post',
                            data:{
                                fname:fname,
                            },
                            success:function (e) {
                                alert(e);
                            }
                        });
url:'/sendmail'