不带jquery的FUELPHP Ajax请求

不带jquery的FUELPHP Ajax请求,php,jquery,json,ajax,fuelphp,Php,Jquery,Json,Ajax,Fuelphp,我到处寻找,我发现,FUELPHP不能处理Ajax请求,原生的和容易的,比如RubyOnRails 必须通过jquery手动完成,除非我遗漏了以下内容:必须对表单的提交事件使用preventDefault()来创建post、产品或其他内容,并使用$function post()发送相关参数,我认为,对于一个声称基于其他框架的最佳想法的框架来说,这是荒谬的 如果我错了,请告诉我,我喜欢FUELPHP,我正在考虑选择它作为PHP框架,但我想澄清这一点。为什么不能这样处理FUELPHP中的ajax .

我到处寻找,我发现,FUELPHP不能处理Ajax请求,原生的和容易的,比如RubyOnRails

必须通过jquery手动完成,除非我遗漏了以下内容:必须对表单的提交事件使用preventDefault()来创建post、产品或其他内容,并使用$function post()发送相关参数,我认为,对于一个声称基于其他框架的最佳想法的框架来说,这是荒谬的


如果我错了,请告诉我,我喜欢FUELPHP,我正在考虑选择它作为PHP框架,但我想澄清这一点。

为什么不能这样处理FUELPHP中的ajax

.01。在视图或public/assets/create javascript文件中创建ajax请求

    <script>     $('.login').on('click',function(){
                      $.ajax({
                    xhr: function () {
                    var xhr = new window.XMLHttpRequest();
                            xhr.upload.addEventListener("progress", function (e) {
                            alert("loading");
                            }, false);
                            return xhr;
                    },
                            url: "<?php echo \Uri::create('auth/login'); ?>",
                            type: "POST",
                            dataType: 'json'
                            data: {'username':$('#username').val(), 'password':$('#password').val()},
                            success: function (data) {
                            alert(data.status);
                            },
                            error: function (XMLHttpRequest, textStatus, errorThrown) {
                            alert("error");
                            }
                    });

});

        </script>
$('.login')。在('click',function()上{
$.ajax({
xhr:函数(){
var xhr=new window.XMLHttpRequest();
xhr.upload.addEventListener(“进度”,函数(e){
警报(“装载”);
},假);
返回xhr;
},
url:“”,
类型:“POST”,
数据类型:“json”
数据:{'username':$('#username').val(),'password':$('#password').val(),
成功:功能(数据){
警报(数据、状态);
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(“错误”);
}
});
});
.02。之后,您可以在classes/controller/create auth.php和类似的登录方法中处理post数据

<?php

class Controller_Auth extends \Controller_Template {

    function action_login() {
        if (\Input::is_ajax()) {
            if (\Input::param('username') and \Input::param('password')) {
                $username = \Input::param('username');
                $password = md5(\Input::param('password'));
                //check password and username or anything
                $msg = 'fail';
                return json_encode(array('status' => $msg));
            }
        }
        ...
    }

}
?>


您可以像这样处理数据。我想你得到了一些东西。这很有帮助

有些人不想阻止事件的默认处理,因为这是写入JavaScript的,所以jQuery的开发人员决定不重新发明轮子。你认为它应该如何工作?你可能会有点困惑。FuelPHP是一个PHP框架,它在服务器上运行,与JavaScript无关,只是将其提供给浏览器。我不知道PHP世界中有哪一个框架模仿RoR的ajaxy表单处理。