Javascript 如何将数组从控制器angularjs发送到codeigniter控制器?

Javascript 如何将数组从控制器angularjs发送到codeigniter控制器?,javascript,php,codeigniter,angularjs,Javascript,Php,Codeigniter,Angularjs,你好,我是angular js和codeigniter的新手 所以我在将对象从angularjs服务发送到codeigniter控制器时遇到了问题 这是我的密码 angular(service.js): codeigniter(pages.php): 我得到一个错误“不允许的关键字符。$$hashKey” 那么我的代码错了吗?或者有更好的方法来解决这个问题 解决====================================== 所以如果你和我有同样的问题,去你的文件夹 system/c

你好,我是angular js和codeigniter的新手

所以我在将对象从angularjs服务发送到codeigniter控制器时遇到了问题

这是我的密码

angular(service.js):

codeigniter(pages.php):

我得到一个错误“不允许的关键字符。$$hashKey” 那么我的代码错了吗?或者有更好的方法来解决这个问题

解决======================================

所以如果你和我有同样的问题,去你的文件夹 system/core/input.php

和查找函数_clean_input_key($str),函数块应如下所示:

function _clean_input_keys($str)
{
    if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
    {
        exit('Disallowed Key Characters.');
    }

    // Clean UTF-8 if supported
    if (UTF8_ENABLED === TRUE)
    {
        $str = $this->uni->clean_string($str);
    }

    return $str;
}
因此,您可以看到包含正则表达式的preg_match。 可以将异常添加到该正则表达式中。
或者,如果您不知道该怎么做,只需阻塞该代码并仅返回$str。

我知道这已经很旧了,但要删除帖子中的$$hashKey,请使用angular.copy()将其删除。因此:

data: $.param({
            "product" : angular.copy(products) 
        })

嗯。。。仍然不起作用。如果我尝试使用数据,并使用chrome调试javascript。在“网络”选项卡中,我可以看到我的数据通过网络发送。但我不明白为什么当我尝试从codeigniter访问它时,它总是空的。是否有任何关键的帖子数据中有一个点?不,它就像这个{“产品”:[{“id”:“1”,“产品名称”:“apple”,“价格”:“11”,“折扣价格”:“1”}}。还要检查codeignitorHello中的这个文件
system/libraries/Input.php
,它仍然不工作,但我会再做一些研究。无论如何,谢谢你的推荐。
function _clean_input_keys($str)
{
    if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
    {
        exit('Disallowed Key Characters.');
    }

    // Clean UTF-8 if supported
    if (UTF8_ENABLED === TRUE)
    {
        $str = $this->uni->clean_string($str);
    }

    return $str;
}
data: $.param({
            "product" : angular.copy(products) 
        })