Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从另一个函数中的URL获取ID_Javascript_Php_Jquery_Cakephp - Fatal编程技术网

Javascript 从另一个函数中的URL获取ID

Javascript 从另一个函数中的URL获取ID,javascript,php,jquery,cakephp,Javascript,Php,Jquery,Cakephp,我的问题很简单。。。参见代码: 我的自动完成: $("#produto").autocomplete({ source: '/pedidoOnline/index.php/Pedidos/search/' + $('#codigo_fabricante').val(), minLength: 2, focus: function(event, ui) { $("#produto").val(ui.item.label); return fa

我的问题很简单。。。参见代码:

我的自动完成:

$("#produto").autocomplete({
    source: '/pedidoOnline/index.php/Pedidos/search/' + $('#codigo_fabricante').val(),
    minLength: 2,
    focus: function(event, ui) {
        $("#produto").val(ui.item.label);
        return false;
    },
    select: function(event, ui) {
        $('#procura_produto').val(ui.item.id);
        preencherLinhaProduto(ui.item.id);
    }
});
接收codigo_fabricante的其他功能: 我在控制器中的功能:

public function search() {
    $this->autoRender = false;
    // Consultando pelo que o usuário está digitando
    $term = $this->request->query ['term'];
    //This way isn't working, I tried ['pass'][0] either. 
    $fabricante = $this->request->params['pass'];
    echo($fabricante);
    $this->loadModel ( 'ProcuraProdutoPedOnline' );
    $produtos = $this->ProcuraProdutoPedOnline->find ( 'all', array (
            'limit' => 20,
             'fields' => array (
                    'cd_cpl_tamanho',
                    'ds_produto'
            ),
            'conditions' => array (
                    'cd_fabricante' => "$fabricante",
                    'ds_produto LIKE' => '%' . mb_strtoupper ( $term ) . '%'
            )
));

我想在$fabricante接收的函数“search()”上获取+$('#codigo_fabricante').val()的值。。。我该怎么做

您需要将参数pass(您正在服务器端检索)作为查询字符串值发送到您在JS代码中调用的URL中:

'/pedidoOnline/index.php/Pedidos/search?pass=' + $('#codigo_fabricante').val()
JS

$("#produto").autocomplete({
    source: '/pedidoOnline/index.php/Pedidos/search?pass=' + $('#codigo_fabricante').val(),
    minLength: 2,
    focus: function(event, ui) {
        $("#produto").val(ui.item.label);
        return false;
    },
    select: function(event, ui) {
        $('#procura_produto').val(ui.item.id);
        preencherLinhaProduto(ui.item.id);
    }
});
像这样

这样修改自动完成,只需在搜索末尾添加/即可

$("#produto").autocomplete({
    source: '/pedidoOnline/Pedidos/search/' + $('#codigo_fabricante').val(),
    minLength: 2,
    focus: function(event, ui) {
        $("#produto").val(ui.item.label);
        return false;
    },
    select: function(event, ui) {
        $('#procura_produto').val(ui.item.id);
        preencherLinhaProduto(ui.item.id);
    }
});
这样做会将该值添加为url参数,而不是通过
$\u GET

在被调用的方法中,它将作为参数提供。这是蛋糕的方式

public function search($term) {
//method code here, but $term is now accessible as a local variable
//to debug this to make sure its getting passed in, add the next line of code
debug($term);die;
}
接下来,将完整的URL路径放入浏览器栏,sou应该会得到您传递的值的输出。例如:
localhost/pedidoOnline/Pedidos/search/somestringhere

应该调试somestringhere的一个结果

我尝试了这个,但不起作用。。。两个错误:警告(2):缺少PedidosController::search()的参数1[APP\Controller\PedidosController.php,第90行]注意(8):数组到字符串的转换[APP\Controller\PedidosController.php,第104行]你调用的URL不正确
pedidoOnline/index.php/Pedidos/search/
你调用的URL应该是
pedidoOnline/Pedidos/search/myValueHere
格式的
root/controller/method/paramater
为什么index.php在那里?看:GET localhost/pedidoOnline/index.php/Pedidos/search/?term=tenis我的代码是:source:'/pedidoOnline/index.php/Pedidos/search/'+$('#codigo_fabricante').val(),错误为:“NetworkError:500 Internal Server error-”您没有遵循约定,因此无法正确传递或访问控制器方法。请参阅我最后一篇关于url应该是什么以及如何访问参数的评论。还要阅读我遵循惯例的文档,这就是我使用index.php/…的原因。。。我还有其他类似的函数,但是得到一个带有$u请求['']的Ajax…我尝试了这种方法,得到了:“NetworkError:500内部服务器错误-”我猜pass=即将清空这看起来不像我知道的CakePHP。。。。你应该试试这个吗<代码>来源:'/pedidos/search'+$(''codigo_fabricante').val(),他可能有
Configure::write('App.baseUrl',env('SCRIPT_NAME')未注释。