代码之家  ›  专栏  ›  技术社区  ›  Znaneswar

Ajax API请求在Controller$处缺少一些数据get

  •  0
  • Znaneswar  · 技术社区  · 6 年前

    当我试图用Ajax请求将数据(URL)发送到API时,php-ci控制器不考虑$\u-get中的所有参数。它最多只接受&。

    传递参数时是否有错误?请帮忙。我尝试传递直接URL和encodeuri。

    jquery代码

    $.ajax({
            type: "GET",
            url: "<?= ROOT?>welcome/ajaxapiget",
            data: encodeURI(http://localhost/webapi/list?categories[]=3&categories[]=12),
            cache: false,
            success: function (data) {
                alert(data);
            }
        });
    

    PHP

    function ajaxapiget() {
        $url = $_GET;`//its getting url as http://localhost/webapi/list?categories[]=3`
        $curl = curl_init();
        ........
        ........
        response $response;
    }
    

    也试过这样

    $.ajax({
            type: "GET",
            url: "<?= ROOT?>welcome/ajaxapiget",
            data: 'url=http://localhost/webapi/list?categories[]=3&categories[]=12)',
            cache: false,
            success: function (data) {
                alert(data);
            }
        });
    

    PHP

    function ajaxapiget() {
        $url = $_GET(url);`//its getting url as http://localhost/webapi/list?categories[]=3`
        $curl = curl_init();
        ........
        ........
        response $response;
    }
    

    当我发出警报时

    发送请求前

    url=http://localhost/webapi/courselist?categories[]=15&categories[]=17
    

    $url = $_GET('url');
    echo $url
    

    http://localhost/webapi/courselist?categories[]=15
    
    2 回复  |  直到 6 年前
        1
  •  0
  •   Avi    6 年前

    $.ajax({
            type: "GET",
            url: "<?= ROOT?>welcome/ajaxapiget",
            data: {url:'http://localhost/webapi/list?categories[]=3&categories[]=12'},
            cache: false,
            success: function (data) {
                alert(data);
            }
        });
    

    function ajaxapiget() {
        $url = $this->input->get('url');//Getting $url as http://localhost/webapi/list?categories[]=3&categories[]=12
        $curl = curl_init();
        ........
        ........
        response $response;
    }
    

    $this->input->get() $_GET[]

        2
  •  0
  •   Znaneswar    6 年前

    encodeURIComponent

    $.ajax({
        type: "GET",
        url: "<?= ROOT?>welcome/ajaxapiget",
        data: 'url=http://localhost/webapi/list?' + encodeURIComponent('categories[]=15&categories[]=17'),
        cache: false,
        success: function (data) {
            alert(data);
        }
    });
    

    http://localhost/webapi/courselist?categories[]=15&categories[]=17
    

    将其用于uris的组件

    资料来源: https://stackoverflow.com/a/4540785