无法将变量从PHP函数传递到同一文件中的另一个

时间:2017-03-05 18:19:30

标签: javascript php ajax

我有两个php函数getFeed ()selectURL ()selectURL ()函数旨在从javascript函数获取URL作为String:

function selectURL () {
if(isset($_POST['Option']))
{
    $uid = $_POST['Option'];
}
return $uid;
}

结果显示在此图片中: Response of selectURL ()

我想将此回复传递给getFeed()函数。换句话说,我想将此响应放在$url函数中创建的getFeed ()变量中:

function getFeed() {
    // When I display $url
     echo $url; 
 /** I want to get as response the link shown in the image  (http://www.elkhabar.com/feeds)**/
}
当我点击名为Start:

的按钮时,必须执行

getFeed()

<button type="submit" class="btn btn-default btn-success col-xs-3" id="start"> <i class="fa fa-play"></i>Start</button>

AJAX脚本:

$('#start').click(function(){
            var $item = $('#test');
                $.ajax({
                    type:'GET',
                    url: '/rss/core/inc/rssnews.inc.php?function=getFeed',
                    //dataType: 'json',
                    success: function (data){
                    var articles = $.parseJSON(data);
                    $.each (articles, function (key, value) { 
                        $item.append('<div id="item"><ul><li><h4>'+ value.title +'</h4></li> <li>'+ value.description+'</li><li><a href="'+value.link+'">Lire+</a></li></ul>');
                        console.log('success',data);

                    });

                    }
                });
            });

那么,我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您需要使用会话变量。普通变量不会在不同的脚本之间存在。

session_start();放在脚本的开头以启用会话。然后将函数编码为:

function selectURL() {
    if (isset($_POST['Option'])) {
        $_SESSION['url'] = $_POST['option'];
    }
}

function getFeed() {
    if (isset($_SESSION['url'])) {
        $url = $_SESSION['url'];
    } else {
        $url = '';
    }
    echo json_encode($url);
}